尝试重新加载帧时出现不安全的JavaScript尝试
这很烦人。我试图使它,以便当我按下F5时,帧重新加载。我得到了它,所以如果焦点在主页(而不是iframe)上,它就可以工作。然而,当我尝试实现一个类似的解决方案,甚至尝试与iframe通信时,我得到了一个“不安全的JavaScript试图访问iframe”。更具体地说,确切的错误是: 不安全的JavaScript试图从带有URL的帧访问带有URL的帧。域、协议和端口必须匹配 请帮忙,因为这真的很痛苦。尝试重新加载帧时出现不安全的JavaScript尝试,javascript,frame,reload,Javascript,Frame,Reload,这很烦人。我试图使它,以便当我按下F5时,帧重新加载。我得到了它,所以如果焦点在主页(而不是iframe)上,它就可以工作。然而,当我尝试实现一个类似的解决方案,甚至尝试与iframe通信时,我得到了一个“不安全的JavaScript试图访问iframe”。更具体地说,确切的错误是: 不安全的JavaScript试图从带有URL的帧访问带有URL的帧。域、协议和端口必须匹配 请帮忙,因为这真的很痛苦。 谢谢这两个站点位于不同的域上。由于Javascript中的安全限制,您无法跨域编写脚本。查看或
谢谢这两个站点位于不同的域上。由于Javascript中的安全限制,您无法跨域编写脚本。查看或获取更多信息(引用Mozilla以防止链接损坏): 同源策略防止从一个源加载的文档或脚本从另一个源获取或设置文档的属性。此策略可追溯到Netscape Navigator 2.0 如果两个页面的协议、端口(如果指定了一个)和主机相同,Mozilla认为两个页面具有相同的源。下表给出了与URL的来源比较示例: 同一原产地规则有一个例外。脚本可以将document.domain的值设置为当前域的后缀。如果这样做,则较短的域将用于后续原点检查。例如,假设文档中的一个脚本执行以下语句: document.domain=“company.com”; 执行该语句后,该页将通过原始检查。但是,基于同样的理由,company.com无法将document.domain设置为othercompany.com 端口号由浏览器单独保存。对setter的任何调用,包括document.domain=document.domain,都会导致端口号被null覆盖。因此,不能仅通过在第一个字段中设置document.domain=“company.com”使company.com:8080与company.com对话。必须在这两个字段中都设置,以便端口号都为空
spow.tk
和www.spow.tk
被认为是不同的域
但是,你可以做的一件事是强制你的站点使用其中一种,这样这个问题就不会再次出现。例如,如果您使用的是Apache,您可以修改
.htaccess
以将所有请求从spow.tk
重定向到www.spow.tk
(或者www.spow.tk
重定向到spow.tk
,如果您喜欢的话)。即使您的用户或代码引用了一个域,请求也将重定向到您指定的域。spow.tk
和www.spow.tk
是不同的domains@zerkms您应该扩展您的评论并提供答案,以帮助其他人了解相同的orgin策略。
URL Outcome Reason
http://store.company.com/dir2/other.html Success
http://store.company.com/dir/inner/another.html Success
https://store.company.com/secure.html Failure Different protocol
http://store.company.com:81/dir/etc.html Failure Different port
http://news.company.com/dir/other.html Failure Different host