javascript - RGD : Javascript redirect top parent page

标签 javascript

编辑问题

总结:

我有 2 个网站 siteA.com siteB.com

Iframe 属于 siteB.com 但我也希望允许 siteA.com 访问 iframe siteB.com 页面。但是,任何非 siteA 或 siteB.com 的内容都将重定向到 siteA.com

使用 javascript,我如何检查,考虑忽略带 www 或不带 www(通配符),而且我的网站可能是 siteA.com/pretty-url

我如何使用 javascript 检查并添加安全性,任何未经授权的随机站点都会导致 window.top.location.href 被重定向到 siteA.com

感谢所有帮助,新人:)

最佳答案

类似这样的吗?:

if (window.top != window && !window.top.location.href.split('?')[0].split('#')[0].match('mysitedomain.com'))
{
    window.top.location.href = window.location.href;
}

第一个检查是确保您仅在您的网站位于框架中时运行此代码。
第二个检查是查看顶部框架(浏览器窗口)的 url 是否包含您的域。我们需要忽略查询字符串/ anchor ,因为它看起来像这样:http://notmine.com/path/file.html?subframe=mysitedomain.com

这仍然匹配:

http: //not*mysitedomain.com*/path

在 .match(...) 中,您可以包含 http://或 https://。

更新以回答您的编辑:

var topUrl = window.top.location.href.split('?')[0].split('#')[0];

if (window.top != window && !topUrl.match('siteA.com') && !topUrl.match('siteB.com'))
{
    window.top.location.href = "siteA.com";
}

关于javascript - RGD : Javascript redirect top parent page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11707838/

相关文章:

JavaScript:为什么 boolean 值的按位或返回数字而不是 boolean 值?

javascript - 等待所有功能和请求完成

javascript - JS/ES6 : Check if every array element has a child in another array

javascript - Firefox 触发 keyup 事件两次

javascript - Moment.js : Get day relevant to today (i. e。 "Tomorrow, today, yesterday, etc")

javascript - Jquery 点击事件未在超时函数中触发

javascript - Ajax 检测提交何时完成

javascript - 使用preventDefault()后覆盖输入字段

javascript - React 状态变量在 'beforeunload' 函数之前神秘地改变

Javascript,获取浏览器 URL 中未显示的默认页面名称