Как получить доступ к полям на странице в iframe? - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть страница .aspx, которая содержит iframe.Я рисую встроенную страницу с моего сервера ssl.Когда я пытаюсь изменить поля со встроенной страницей с помощью javascript (я помещаю данные в скрытые поля, чтобы использовать их на стороне сервера для идентификации клиента), я получаю сообщение об отказе в доступе.Если я запускаю все это локально, у меня не возникает никаких проблем, поэтому на самом деле вопрос в том, что мне нужно изменить на моем ssl-сервере, чтобы разрешить изменение этих полей?

JavaScript действительно прост:

            window.frames["frame1"].document.forms['password_form']["username"].value = document.getElementById("username").value;

и, как я уже сказал, работает отдельно от того момента, когда я изменяю iframe src на ssl ...

Это предварительно скомпилированное приложение, мне интересно, имеет ли это значение.Сама страница не только для чтения.

Спасибо, Рон.

1 Ответ

1 голос
/ 17 апреля 2011

Политика Same Origin запрещает создание сценариев для документов из разных источников.Протокол (HTTP / HTTPS) является частью источника.Поэтому браузер должен запретить доступ к window.frames["frame1"].document в вашем примере, если только iframe находится на HTTPS.

Простое решение - использовать HTTPS для главной страницы и для iframe.возможно, но в зависимости от ваших потребностей это может быть слишком хлопотно: http://softwareas.com/cross-domain-communication-with-iframes (длинное, но информативное чтение).

...