所以,我有一个网站fabtab.org 它所有的都是一个iframe,它将我的实际网站嵌入到fab.org.org/fabtab中 (我有这个设置,因为fabtab.org由一些网站提供商托管,我在家里的fab.org.org上托管我的网站,所以提供商只是屏蔽我的网址并将请求转发到我家的网站)
现在在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;
}
所以当您单击顶部框架上的关闭时,此代码将运行。 当我的网站从fab.org.org/fabtab访问时,这是有效的,但当它从fabtab.org运行时,我得到跨域javascript错误。 所以我一直试图做的,但没有成功,设置了document.domain =“fab.org.org”
这是chrome给我的错误:
不安全的JavaScript尝试从包含网址http://fabtab.org/的网址访问包含网址http://fab.org.org/fabtab/games/head/show_close=False的框架。域,协议和端口必须匹配。
如果我的顶级框架调用parent.document,那不应该是我的框架集是同一个域的文档,那么应该没有跨域javascript吗?或者是浏览器看到我的网站尝试访问fabtab.org内的fab.org.org并且根本不允许它的实际问题? 如果是这种情况,将修改fabtab.org上的iframe以将域设置为javascript中的fab.org.org吗?
答案 0 :(得分:0)
我通过在我的网站上使用CNAME条目而不是使用屏蔽转发
解决了这个问题