小麦子 发表于 2024-10-19 15:44:52

通过框架屏蔽当前页面内容的js跳转代码

在朋友处看到一段使用框架窗体屏蔽住当前页面内容的js代码,这样的JS代码非平常的以跳转的方式实现,而是在当前页面中加载目标网址作为置顶于原页面的框架,并且遮盖住原页面的所有内容,但如果查看源代码,还是可以看到原页面的源码。表述的有点复杂了,简单来说加载了这段js的页面就像是加载了巨幅广告,巨幅广告遮天蔽日,直接屏蔽住了当前页面的所有内容。个人猜想,如果我们修改下面框架中的style属性,height/width值为1px,其他属性来个透明,用来挂广告联盟倒是不错。
以上只是部份演示图片,详细可以付费购买。
var titlestr=document.title;
setFrame("目标网址");


function setFrame(olink){
    var ss = '<title>'+titlestr+'</title><div id="showcloneshengxiaon" style="height: 100%; width: 100%; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;"><ifr' + 'ame scrolling="yes" marginheight=0 marginwidth=0frameborder="0" width="100%" height="100%" src="'+olink+'"></iframe></div><style type="text/css">html{width:100%;height:100%;}body {width:100%;height:100%;}</style>';
    eval("do" + "cu" + "ment.wr" + "ite('" + ss + "');");
    try {
      setTimeout(function() {
      console.log(document.body.children.length);
      for (var i = 0; i < document.body.children.length; i++) {
          try {
            var a = document.body.children.tagName;
            var b = document.body.children.id;
            console.log(i+"***"+a+"**"+b);
            if (b != "iconDiv1" && b != "showcloneshengxiaon" && a!="title") {
            document.body.children.style.display = "non" + "e"
            }
          } catch (e) {}
      }
      
         var oMeta = document.createElement('meta');
      oMeta.name = 'viewport';
      oMeta.content = 'width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no';
      document.getElementsByTagName('head').appendChild(oMeta);
      
      }, 100)
    } catch (e) {}
}

页: [1]
查看完整版本: 通过框架屏蔽当前页面内容的js跳转代码