使用jQuery更改不同域上iframe的文本框值?

我有一个页面的Iframe,允许人们注册我的电子邮件简报。

我想基于查询字符串url自动填充iframe中的电子邮件字段(page.html?email = email)

我知道如何处理查询字符串,我只是不确定如果我能够访问框架内的输入文本框。 表单或文本框都没有id,他们只有名字。

我试过以下……

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

任何帮助都会很棒。

如果从主页面以外的其他域加载IFRAME,则2 无法使用JavaScript或CSS进行交互。

您可以通过将数据作为传递来执行此操作

 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

我用来解决这些小问题的一个技巧是向setTimeout()发送一个匿名函数:

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

免责声明:我不确定这会在这种情况下起作用,而且很糟糕。 使用风险由您自己承担。 只是折腾一个想法:)