#javascript #jquery #iframe #internet-explorer-11
#JavaScript #jquery #iframe #internet-explorer-11
Вопрос:
Я не могу получить доступ к iframe с помощью jQuery в localhost или если я использую другой домен в IE8-11.
я использую скрипт Smart Demo-bar, он отлично работает в других браузерах, но в IE8-11 он должен быть в каком-то домене, иначе все функции обеспечивают разрыв py Demo-bar.
— я попытался добавить onload
событие в iframe. (Но это будет работать, только если источник в iframe из того же домена.)
— Другое решение, которое мне нравится в stackoverflow, преобразует jQuery в JS.
Пожалуйста, если есть способ исправить эту проблему IE
, я буду благодарен.
Ответ №1:
Internet Explorer имеет очень ограниченный набор правил, касающихся междоменного доступа (как вы только что заметили). Песочница между страницей «хост» и iframe предназначена для предотвращения атак XSS.
Если вы пытаетесь выполнить вызов ajax, jQuery предоставляет тип данных JSONP (JSON с заполнением), просто чтобы обойти междоменные ограничения
Если вы хотите передавать вызовы событий или функций, вам понадобится сторонний плагин, вот пример: http://calibrate.be/labs/cross-domain-iframe-communication
Комментарии:
1. Спасибо за ваш ответ, я решаю проблему с преобразованием некоторой функции jQuery в JS и нарушаю некоторые правила JSLint, такие как объявление нескольких переменных.
2. Если решение устраняет вашу проблему, не могли бы вы принять его?