2011-05-18 73 views
23

我的CMS网站,其域名的工作是:跨子域中的iframe和JavaScript

http://www.acmssite.com 

他们有一个子域,他们存储形式系统:

http://www.forms.acmssite.com 

我有一个在第一个iframe中查看后者中的表单。

我需要从前者运行脚本来操纵后者,并想知道这是可能的吗?

回答

56

为了这不是由同源策略的限制,你可能需要做这两个网页:

document.domain = "acmssite.com"; 
+2

如果两者都位于完全不同的域上,这项工作是否可行? – RyanP13 2011-05-18 15:34:55

+3

编号浏览器限制将document.domain设置为相同的域或网页的超级域。例如,这是Mozilla的政策:https://developer.mozilla.org/en/DOM/document.domain – 2011-05-18 15:37:36

+3

感谢您的提示:放置在两个页面。如果可以的话,我会给你一个+2的。 – Praesagus 2012-10-16 01:41:19

2

是的。

var iframe = document.getElementById("your-iframes-id").contentWindow.document; 
+1

此代码不到风度工作时的iframe中子域。您需要使用“document.domain” – 2014-03-11 14:24:51

+0

澄清Mosh Feu的含义:由于相同的原产地政策,它不起作用。浏览器出现“阻止原始帧”空“访问跨源帧”。 – 2017-09-12 14:47:20