我有一个网站fabtab.org它只有一个iframe,里面嵌入了我的网站,网址是fab.org.org/fabtab(我有这个设置作为fabtab.org是托管与一些网站提供商,我从家里托管我的网站在fab.org.org,所以提供商只是掩盖我的URL和转发请求到我的网站在家里)
现在在fab.org.org/fabtab上,我有一个框架设置,上面的框架是网站的标题/导航,下面的框架是网站的内容。
我想做的是在顶部框架中添加一个关闭按钮使浏览器的URL跳转到底部框架URL
中指定的URL我已经在javascript中这样做了:
function GotoBodyURL()
{
//debugger;
var parentDocument = parent.document;
var bodyDocument = parentDocument.getElementById('content');
parent.window.location.href = bodyDocument.location;
}
因此,当您单击顶部框架上的close时,此代码将运行。当我的网站从fab.org.org/fabtab访问时,这是有效的,但当它从fabtab.org运行时,我得到跨域javascript错误。所以我一直在尝试做的是设置文档,但没有成功。域名= "fab.org.org"
这是chrome给我的错误:
不安全的JavaScript试图从URL为http://fab.org.org/fabtab/games/head/show_close=False的框架访问URL为http://fabtab.org/的框架。域、协议和端口必须匹配。
如果我的top frame调用parent。文档,不应该是有框架集的文档吗框架集是同一域的所以不应该有跨域的javascript?或者是实际的问题,浏览器看到的是我的网站试图访问fab.org.org内部的fab.org和根本不允许它?如果是这种情况,修改iframe在fabab.org有域名设置为fab.org.org javascript做的技巧?
我通过在我的网站上使用CNAME条目而不是使用屏蔽转发来解决问题