У меня есть .jsp, который содержит IFrame со страницей с встроенным JavaScript. Этот JavaScript обращается к некоторым элементам DOM на родительской странице (той, которая содержит IFrame).Ошибки разрешений JavaScript, возникающие из IFrame
Введенная страница будет находиться на отдельном поддомене с родительской страницы, и я понимаю, что есть некоторые последствия для безопасности. Мое впечатление состоит в том, что document.domain любых страниц, встроенных в IFrames, должен соответствовать document.domain родительских страниц для доступа к перекрестному IFrame. Вложенная страница в настоящее время содержит следующий код, чтобы «расширить» сферу его безопасности:
document.domain = 'domain.com'; // где domain.com является моим доменом
Затем он переходит к элементам DOM в родительском документе.
Я в настоящее время тестирования это и модифицировали файл хостов на машине Windows, обслуживающей родительской страницы с помощью следующей записи:
127.0.0.1 domain.com
Цель состоит в том, чтобы обмануть JavaScript на родительскую страницу, полагая, что документ на встроенной странице обслуживается из того же домена.
Если я затем перейду на страницу на том же компьютере. Несмотря на то, что document.domain отображается как «domain.com» как на родительском, так и на встроенном страницах, как это наблюдается через Firebug, я получаю ошибки «Разрешения на отказ» при попытке получить или установить свойства DOM из JavaScript, запущенного на встроенной странице.
Я что-то упустил? Заранее благодарим за любые предложения или комментарии!
Я считаю, что вы правы. Я попытался явно установить свойство document.domain в код JavaScript на то же значение, которое у меня есть в файле моих хостов. Как только я это сделал, ошибки были решены. Это очень странно.Я заметил значение свойства document.domain до того, как явным образом установил его и после, и значение не изменилось. Но почему-то это заставило все работать. Возможно, есть что-то еще, что я не знаю, что это разрешено, установив это свойство в коде. – AndreiM
Ссылка, которую вы опубликовали, очень полезна! Большое спасибо! – AndreiM