JS判断当前页面是否顶层窗口

之前抓取某站的翡翠台的播放页面为:
http://123.207.42.38/tvb.php
这是一个有意思的地址,直接在浏览器打开访问会跳转到腾讯的一个公益页面,但是他自己网站使用<iframe>标签嵌套这个地址完全正常。
使用Chrome输入地址 :
view-source:http://123.207.42.38/tvb.php
查看该网页源码,其中在大概第七行左右有这么一段JS代码:

<script language="JavaScript"> 
if(top==self)top.location="https://www.qq.com/babygohome/"
document.oncontextmenu=new Function("event.returnValue=false;"); 
document.onselectstart=new Function("event.returnValue=false;");
function killErrors() {
return true;
}
window.onerror = killErrors; 
</script>

其中 if(top==self)top.location="https://www.qq.com/babygohome/" 它的作用大概就是判断当前窗口是否为顶层窗口,如果是则做一个跳转,这就解释了直接在浏览器输入该地址访问的问题。
也可以这样表达:

<script>  
    if(top.location!=self.location){  
        alert("不是顶层窗口");
    }else{  
        alert("是顶层窗口");
    }  
</script>

这个小技巧对于我这个外行人来说还挺好玩的,记下来慢慢玩..

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

  1. wordpress建站吧 说道:

    JS很强大啊

    1. 黑鸟君 说道:

      我是小白觉得好玩并且以后可能会用到,做个标记..

  2. fy789 说道:

    大佬,什么时候写一个怎样代理直播源的教程呀?