javascript - Bagaimana untuk memecahkan top.location.href =window.location.href dan membenamkan halaman web orang lain melalui iframe?
高洛峰
高洛峰 2017-05-19 10:14:12
0
2
1272

Seperti tajuk, mungkin tidak begitu jelas.
Terdapat permintaan di tangan Pengurus produk berkata: "Xiao Hu, produk kami perlu menambah fungsi baharu, iaitu dapat memaparkan halaman H5 yang ditulis dengan baik, atau menyediakan paparan halaman web kepada pengguna, seperti memaparkan. laman web berita tertentu."
Saya rasa, memandangkan saya mahu melakukan perkara yang jahat, saya telah menggunakan iframe untuk membenamkan halaman pihak ketiga pada masa lalu, jadi saya boleh menggunakan ini dan saya tidak menemui mana-mana yang lain. kaedah.
Kemudian masalah datang Sebagai contoh, jika laman web berita membenamkannya, ia akan menentang pelanggan dan secara langsung membunuh halaman html saya! Selepas usaha yang tidak putus-putus, didapati bahawa halaman web itu mempunyai "kod anti-pengendali rampasan";

<!-- 反运营商劫持 S -->
<style type="text/css">
    html {
        display:none;
    }
    </style>
<script>
    if( self == top ) {
        document.documentElement.style.display = 'block' ;
    } else {
        top.location = self.location ;
    }
    </script>
<!-- 反运营商劫持 E -->

Bolehkah mana-mana tuan membantu saya memecahkannya?

Kaedah berikut telah digunakan:

//在主窗口的</head>标签前面添加 
<script type="text/javascript"> 
var location=document.location 
</script>
//或者: 
<script type="text/javascript">
var location="" 
</script>

Namun, tiada telur. . .

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(2)
刘奇

Apa yang dikatakan oleh responden di tingkat satu adalah benar; Walau bagaimanapun, IE 9 dan versi terdahulu
tidak menyokong atribut kotak pasir
, dan Opera 12 dan versi terdahulu juga tidak menyokong atribut ini . Jika anda ingin serasi dengan IE8 dan ke bawah, sila abaikan jawapannya! ! ! Atribut dan nilai kotak pasir iframe:


Jika anda tidak menetapkan navigasi membenarkan-atas, anda tidak akan dipaksa untuk melompat! ! !

Sudah tentu, anda akan mendapati bahawa kandungan halaman tidak dipaparkan tetapi tidak melompat Mengambil xw.qq.com sebagai contoh, anda akan mendapati bahawa ia adalah kerana html dalam iframe ditetapkan kepada "display:none";

  //以下代码在已webview形式嵌套到android中的html页面有效
  $(window.frames["iframe的id"].document).find("html").css('display', 'block') //基于jQuery

Penawar masih belum ditemui pada PC

Ralat dilaporkan merentas domain! !
Antara muka biasa (halaman hujung hadapan dalam paparan web android):


Kod (nyahpepijat kendiri,

pintasan pc!

): var iframe = document.createElement("iframe");

    iframe.id = "iframeId";
    iframe.src = "xw.qq.com";
    iframe.style.width = "100%";
    iframe.style.height = "100%";
    iframe.sandbox = "allow-scripts allow-same-origin";
    iframe.frameborder = "0";
    iframe.scrolling = "no";
    iframe.marginwidth = "0";
    iframe.marginheight = "0";
    iframe.border = "0";
       if (! /*@cc_on!@*/ 0) { //浏览器 不是IE的情况下
        iframe.onload = function () {
            console.log("已经加载完成!/no IE");
            $(window.frames["iframeId"].document).find("html").css('display', 'block');
        };
    } else {
        iframe.onreadystatechange = function () {
            if (iframe.readyState == "complete") {
                console.log("已经加载完成!/ IE");
                $(window.frames["iframeId"].document).find("html").css('display', 'block');
            }
        };
    }
    $this.appDom.html(iframe);
    
滿天的星座
http://www.w3school.com.cn/tags/att_iframe_sandbox.asp
这个怎么样?阻止操作包含的。但是不阻止执行脚本。
或者你就别用iframe了。你就放一个截图。然后想看的时候a标签跳转呗
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan