2013-06-05 2 views
60

Я использую youtube iframe api и получаю следующую консольную ошибку, связанную с блокировкой кадра с источником http://www.youtube.com , Интересно, может ли кто-нибудь объяснить, почему эта ошибка появляется только на консоли хром, и есть ли способы предотвратить это?Способы удаления ошибки консоли iframe api в aprame - «заблокирован кадр с началом ...» в консоли хрома

Ошибка:

Blocked кадр с началом "http://www.youtube.com" от доступа кадр с началом "http://youtubetest.appspot.com". Протоколы, домены и порты должны совпадать.

+0

Вы используете страницу в https? Как выглядит код html для include? – epascarello

+8

Хорошо нашел ответ https://code.google.com/p/chromium/issues/detail?id=17325 – styler

+1

@styler Я прошел через вашу ответную ссылку, но не понял, как вы ее решили? Пожалуйста, дайте мне знать. –

ответ

10

У меня была подобная ошибка, где ошибка JS был:

Blocked a frame with origin " https://www.youtube.com " from accessing a frame with origin " http://www.yourdomain.com ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocol/Protocols must match, YouTube has CORS (Cross Origin Resource Sharing) enabled to allow across domains.

Постарайтесь избавиться от https:// в вашем IFrame тега YouTube?

Вы также можете посмотреть ваши закрывающие теги iframe. Теги Iframe не являются одноточечными тегами и должны заканчиваться </iframe>, а не />.

+0

Помимо появления на консоли возникли проблемы на сайте? Есть ли другой способ обойти это, поскольку иногда пользователи получают сам код для встраивания, поэтому может оказаться вне их для редактирования какого-либо кода? – ak85

+0

Это не ответ на вопрос OP. Не было проблемы с протоколом как происхождения, так и домена, как вы можете видеть в вопросе. Удаление '' 'https: //' '' ничего не будет делать (особенно когда они используют '' 'http: //' ''). – Lior

+1

Этот ответ неверный – reaz

6

Похоже, что сегодня, используя свободный от протокола «//youtube.com» URL-адрес, который YouTube помещает в свой СОБСТВЕННЫЙ ИНСТРУМЕНТ С ПОМОЩЬЮ СОТРУДНИЧЕСТВА, бросает ошибки согласования протокола. (вздох). На этой неделе это сработало хорошо.

Если я добавлю https: в URL-адрес внедрения, он перестает метать ошибки и работает API-интерфейс iframe. Он продолжит выдавать ошибку «Заблокирован фрейм с началом ...», но JS API будет функционировать должным образом.