学习资料:
https://www.cnblogs.com/Wayou/p/things_you_dont_know_about_frontend.html#comment_form_container
https://blog.csdn.net/dugujiancheng/article/details/51669164
https://www.cnblogs.com/lvhw/p/7107436.html
方法一:
if(window.location != window.parent.location) { window.parent.location = window.location; }
方法二:
为了防止网站被钓鱼,可以使用window.top来防止你的网页被iframe
if(window != window.top) { window.top.location.href = correctURL; }
方法三:
限定你的网页不能嵌套在任意网页内。如果你想引用同于的框架的话,可以判断域名。
if(top.location.host != window.location.host) {
top.location.href = window.location.href; }
当然,如果你网页不同域名的话,上述就会报错。
所以,这里可以使用try...catch...进行错误不活。如果发生错误,则表明不同域,表示你的页面被盗用了。可能有些浏览器这样写不会报错,所以需要降级处理。
这时候再进行跳转即可。
try{ top.location.hostname;//检测是否出错 //如果没有出错,则降级处理 if(top.location.hostname != qwindow.location.hostname) { top.location.href= window.location.href; } } catch(e){ top.location.ref = window.loction.href; }
扩展学习:window.parent与window.top区别 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/top
window.parent返回当前窗口的直接父对象,window.top返回最顶层的窗口对象。当在处理父窗口的子框架(subframe),而你想获取顶层框架时,window.top属性相当有用。