2

У меня возник вопрос о связи между iFrame и родителем или с веб-страницей. Можно ли инициировать событие в iFrame и обрабатывать его в родительском содержимом, содержащем его веб-страницу? IFrame и родительская страница относятся к одному и тому же поддомену.Обработка события iFrame на родительской веб-странице

+2

Если они из одной и той же подобласти, да. Родительская страница и iframe должны иметь возможность взаимодействовать. – user1600124

+2

[Это может помочь вам] (http://stackoverflow.com/questions/9607398/force-iframe-to-evaluate-its-javascript/9608160#9608160). –

ответ

1

Используя ссылку Sheikh Heera, представленную в комментариях, да, вы можете инициировать события в iframe и обрабатывать их в родительском.

var doc = iframe.contentDocument || iframe.contentWindow.document; 
doc.getElementById("myDiv").addEventListener('click',function() { 
    //doStuffHere 
}); 

Вот скрипка для него: http://jsfiddle.net/9sfm9/


или просто позвонить parent.doFunction() в JavaScript в IFrame, в предположении, doFunction() функция в родительской странице. Пример:

родительский сценарий:

var doFunction = function() { 
    alert("I was triggered from an iframe"). 
} 

IFrame сценарий:

parent.doFunction(); 

А вот скрипку для этого: http://jsfiddle.net/9sfm9/2/

+0

Ваш jsfiddle больше не работает в chrome. Ошибка: «Uncaught SecurityError: не удалось прочитать свойство contentDocument из« HTMLIFrameElement »: заблокирован кадр с источником« https://fiddle.jshell.net »от доступа к кадру с нулевым значением« нуль ». протокол «https», доступ к кадру имеет протокол «данных». Протоколы должны совпадать ». –

Смежные вопросы