Доступ запрещен iFrame IE

Возможный дубликат:
Разрешение отклонено IE iFrame

У меня есть iframe на b.com, который пытается получить библиотеку jQuery с a.com [мой сайт]. Всякий раз, когда это происходит, я получаю сообщение об ошибке «Отказано в доступе» как в IE7, так и в IE8.

Я проверил Fiddler, и он не показывает, что скрипт блокируется, но IE выдает ошибки с сообщением «Отказано в доступе».

Что вызывает эту проблему и как ее обойти?

Спасибо


person Tom    schedule 02.06.2010    source источник
comment
Вы уже задавали этот вопрос: 2953158. Повторный вопрос не даст вам другого ответа. Вы не можете этого сделать, вы не можете обойти это. Если вы можете, это ошибка, и команда IE исправит ее.   -  person i_am_jorf    schedule 02.06.2010
comment
Вы манипулируете DOM до полной загрузки страницы? IE суетится по этому поводу...   -  person Piskvor left the building    schedule 02.06.2010
comment
вопрос касается возможных обходных путей, на которые у меня до сих пор нет адекватного ответа? написать, что вы не можете этого сделать - это не ответ. мне нужно отложить сценарий или?   -  person Tom    schedule 02.06.2010
comment
Вот почему я сказал это в комментарии, а не в ответе. Измените исходный вопрос; это еще дурачок.   -  person i_am_jorf    schedule 02.06.2010
comment
привет - я думаю, это проблема с SO. я задал вопрос 8 часов назад и не получил ответов и до сих пор никакой помощи, взгляды не изменились. Я спрашиваю это сейчас, и я получаю помощь. удалите оригинал - он не предлагает никакой помощи сообществу - это делает.   -  person Tom    schedule 02.06.2010
comment
@Tom - если бы вы отредактировали свой оригинал, он снова поднялся бы на первую страницу и получил бы больше просмотров.   -  person Alconja    schedule 02.06.2010
comment
о, извиняюсь - не понял. спасибо, что объяснили мне это - позабочусь, чтобы я сделал это в следующий раз.   -  person Tom    schedule 02.06.2010


Ответы (2)


Проще говоря, безопасность браузера не позволит вам обмениваться данными между двумя фреймами, которые находятся в разных доменах. Таким образом, вы не можете «захватить библиотеку jQuery» из другого фрейма. Там нет обходного пути, иначе это будет дыра в безопасности браузера.

Ваши единственные варианты - сделать одно из следующего:

  • Не связываться между фреймами (например, загружать jQuery во все фреймы, которые в этом нуждаются)
  • Размещайте содержимое каждого фрейма на одном домене (можно работать с разными поддоменами)
person Alconja    schedule 02.06.2010
comment
эй спасибо за ответ. поэтому вариант 1 - загрузить jQuery во все кадры, которые в нем нуждаются - как мне это сделать? то есть я загружаю его с помощью тегов скрипта прямо из моего домена с помощью P3P. то есть в iframe на b.com его ‹script src=a.com/jquery.js›‹ /скрипт› и т. д. ? - person Tom; 02.06.2010
comment
@Tom - Если вы хотите, чтобы и главная страница, и iframe имели доступ к jQuery, вам просто нужно включить тег script в оба ... т.е. страница, размещенная на a.com, и страница, размещенная на b.com, нуждаются в обеих тег <script ...jQuery.js...></script> на них. - person Alconja; 02.06.2010
comment
Этот ответ звучит так, будто невозможно обмениваться данными между фреймами, находящимися в разных доменах, что неверно. Одним из решений, например, может быть метод window.postMessage. Для получения дополнительной информации (для пользователей jQuery): benalman.com/projects/jquery-postmessage-plugin< /а> - person rinogo; 28.06.2013

в некоторых ситуациях IE7 берет разные домены/виртуальные папки с адреса href... www.foo.com и foo.com - разные домены и т. д. У вас есть такая связь?

person Megawolt    schedule 02.06.2010
comment
эй, спасибо - я думаю, что моя проблема может быть связана с доменом x. Я думаю, что установка javascript document.domain предназначена только для поддоменов? - person Tom; 02.06.2010
comment
вы не можете использовать document.domain = Fooolis.foo.com. Говорили об этом? - person Megawolt; 02.06.2010
comment
мой сайт www.a.com iframe находится на www.b.com? то есть document.domain помогает только [я думаю], если www.a.com и bla.a.com? или же ? - person Tom; 02.06.2010
comment
webreflection.blogspot.com/2008/06/ Существует код для использования document.domain для поддоменов и альтернативных доменов. Посмотри там... - person Megawolt; 02.06.2010