javascript, iframe, security - Отказано в доступе при попытке доступа к функции js из родительского окна. - PullRequest
6 голосов
/ 23 мая 2011

Добрый день всем.

У меня есть страница, которая содержит iframe.В этом iframe у меня есть скрипт с функцией test ().Мне нужно получить доступ к функции из родительского окна.После расспросов я нашел это решение:

<div onclick="document.getElementById('targetFrame').contentWindow.teste();">Test</div>

При нажатии должна быть запущена тестовая функция.Проблема в том, что я получаю сообщение об ошибке «Отказано в доступе к тесту свойства».

Это выглядело как ошибка разрешения, поэтому я изменил файл, загруженный в разрешениях iframe, на 777, но безрезультатно.

Примечание. Файл, загруженный в iframe, находится не в том же домене.

Ответы [ 2 ]

10 голосов
/ 23 мая 2011

По умолчанию доступ к страницам из других доменов запрещен, поскольку браузеры используют та же политика происхождения . Существует несколько обходных путей, например использование location.hash или window.name для связи между фреймами. Самым последним и стандартизированным в HTML5 является postMessage-интерфейс. Есть библиотека для кросс-браузерного решения http://easyxdm.net/wp/.

3 голосов
/ 23 мая 2011

Я не уверен, если это возможно, кросс-оконная (фреймовая) связь должна быть в одном домене, протоколе и имени хоста. Для получения дополнительной информации см. Одинаковая политика происхождения для JavaScript и Междоменная связь с iframes

...