Изменить значение текстового поля iframe в другом домене, используя jQuery? - PullRequest
2 голосов
/ 26 января 2010

У меня есть Iframe для страницы, которая позволяет людям подписываться на мои почтовые рассылки.

Я хочу автоматически заполнить поле электронной почты в iframe на основе URL строки запроса (page.html? Email = email)

Я знаю, как делать строки запроса, я просто не уверен, что могу ли я получить доступ к текстовому полю ввода внутри фрейма. Форма или текстовое поле не имеют идентификаторов, они имеют только имена.

Я пробовал следующее ..

$("email_frame").contents.find('input[name=email]').append("test");

Любая помощь будет отличной.

Ответы [ 3 ]

7 голосов
/ 26 января 2010

Если IFRAME загружен из домена, отличного от главной страницы, 2 не может взаимодействовать с использованием JavaScript или CSS.

0 голосов
/ 26 января 2010

Одна хитрость, которую я использовал, чтобы обойти эти небольшие проблемы, это отправить анонимную функцию в setTimeout ():

var execMe = function() {$("email_frame").contents.find('input[name=email]').append("test");};
var result = setTimeout("execMe", 1000);

Отказ от ответственности: я не уверен, что это будет работать в этих обстоятельствах, и это является хакерским Используйте на свой риск. Просто подбрасываю идею :) 1006 *

0 голосов
/ 26 января 2010

Вы можете сделать это, передав данные как

iframe.src = 'otherdomain/frame.html#bob@foo.com'

и использование его в iframe как

window.onload = function ()
{
     data = window.location.hash;
}

для более подробной информации читайте: http://msdn.microsoft.com/en-us/architecture/bb735305.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...