Не удается получить доступ к iframe с помощью jQuery в другом домене в IE8-11

#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. Если решение устраняет вашу проблему, не могли бы вы принять его?