繁体   English   中英

屏蔽域和跨域JavaScript

[英]Masked domain and cross domain javascript

因此,我有一个网站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;
}

因此,当您在顶部框架上单击关闭时,此代码将运行。 当从fab.org.org/fabtab访问我的网站时,此方法有效,但是从fabtab.org运行我的网站时,出现跨域JavaScript错误。 因此,我一直试图成功完成的工作是设置document.domain =“ fab.org.org”

这是chrome给我的错误:

不安全的JavaScript尝试与URL访问框架http://fabtab.org/从框架与URL 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才能解决问题?

我已经通过在我的网站上使用CNAME条目解决了问题,而不是使用带有屏蔽的转发

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM