Ошибка «Небезопасная попытка JavaScript получить доступ к фрейму с URL ...» постоянно генерируется в инспекторе веб-приложений Chrome - PullRequest
128 голосов
/ 10 июня 2010

Chrome (или любой другой веб-браузер) выбрасывает тонну этих «небезопасных попыток JavaScript получить доступ к фрейму с помощью URL ...» при работе, например, с API Facebook.

Это не мешает реальной работе, но делает консоль javascript непригодной для использования.

Я хотел бы знать, есть ли способ подавления этих ошибок конкретно в консоли? Или, если есть другие решения, которые вы, ребята, можете придумать, я был бы очень признателен.

Спасибо.

Ответы [ 5 ]

19 голосов
/ 25 июля 2010

Вы можете разрешить междоменные запросы во время тестирования, запустив chrome с параметром командной строки --disable-web-security. Это, вероятно, должно избавить от ошибки (и позволить FB шпионить за вашим тестированием;)

4 голосов
/ 15 марта 2013

В чем проблема?

Тонны Unsafe JavaScript attempt to access frame with URL... сообщений об ошибках в консоли Chrome JS.

Как @ thechrisproject указывает ,Эти ошибки вызваны многими авторитетными сторонними API и виджетами, включая, но не ограничиваясь:

  • Facebook JS SDK
  • Vimeo Iframe Embed
  • Google Maps IframeКод для вставки

Мое понимание почему : (пожалуйста, исправьте меня, если я ошибаюсь)

Chrome имеет более строгие настройки безопасности и / или показывает больше таких ошибок, чем конкурирующие браузеры.Авторы API / виджета / встраивания пытаются сделать вещи (междоменные / фрейм), которые не будут работать во всех браузерах (возможно, для их собственных отчетов / аналитики), но которые на самом деле не влияют на использование их виджета, если это не такработа (просто вызывает много досадных ошибок)

Быстрый ответ

НЕТ, вы не можете (просто ) подавить эти ошибки в хромированной консоли.

Решения?

  • Справиться с этим. Этиошибки на самом деле не нарушают эти сторонние apis и виджеты, они просто усложняют использование консоли
  • вы можете настроить консоль на запись только предупреждений, журналов или отладочных сообщений.Это позволит скрыть ВСЕ ошибки.
  • Вы можете использовать другой браузер
  • As @ Dagg_Nabbit.указал , вы можете разрешить междоменные запросы, запустив chrome с опцией командной строки --disable-web-security.Больше информации здесь: Отключить ту же политику происхождения в Chrome .Обратите внимание, что этот параметр негативно повлияет на безопасность вашего браузера.У меня есть 2 хромированных ярлыка, поэтому я могу открыть их с этим флагом или без него.
4 голосов
/ 11 мая 2011

Это происходит, когда источник из другого домена загружается и пытается получить доступ к document.cookie. Это происходит с заголовочными источниками (тегами сценариев), а также с документами iframe, которые по какой-то причине пытаются получить доступ к document.cookie.

3 голосов
/ 09 марта 2011

Поскольку мы не можем обвинять людей из Google в создании такого безопасного браузера, я думаю, что лучшим решением будет использование серверных решений Facebook (например, PHP SDK), это сэкономит вам много, много, много, много, много головной боли.Единственное преимущество, которое я вижу в использовании FB javascript SDK, - это всплывающая регистрация, которую вы можете сделать самостоятельно, используя javascript / jQuery.

2 голосов
/ 19 апреля 2012

Эти ошибки могут возникать, если при регистрации приложения в Facebook у вас нет косой черты в поле URL сайта. Другими словами, вам нужно "http://domain.com/" not" http://domain.com"

Вы можете проверить настройку URL-адреса сайта в developers.facebook.com / apps Изменить настройки -> Основные -> URL сайта.

...