Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk memecahkan top.location.href =window.location.href dan membenamkan halaman web orang lain melalui iframe?

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. . .

高洛峰高洛峰2712 hari yang lalu1243

membalas semua(2)saya akan balas

  • 怪我咯

    怪我咯2017-05-19 10:16:12

    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);
        

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:16:12

    http://www.w3school.com.cn/tags/att_iframe_sandbox.asp
    这个怎么样?阻止操作包含的。但是不阻止执行脚本。
    或者你就别用iframe了。你就放一个截图。然后想看的时候a标签跳转呗

    balas
    0
  • Batalbalas