php - window.open() pop timbul disekat.
PHPz
PHPz 2017-05-16 13:12:48
0
8
706

Lepaskan url dari bahagian belakang dan selepas menerimanya, bahagian hadapan akan membuka tetingkap baharu dan melompat ke pautan ini.
Gunakan window.open(url, '_blank'); untuk dipintas oleh pelayar.< /p>

Adakah terdapat apa-apa cara untuk mencapai ini? Saya cuba mensimulasikan klik pada teg dan ia masih memintasnya Tetingkap timbul gagal memuatkan iframe dan tetingkap mesti dibuka.

Masalah telah diselesaikan, lihat jawapan yang diterima.

PHPz
PHPz

学习是最好的投资!

membalas semua(8)
巴扎黑

Untuk soalan ini, kita mesti memahami terlebih dahulu mengapa ia dipintas Penyemak imbas akan membuat panggilan "bukan buatan"window.open的弹窗进行拦截,什么叫做"非人为"的,就是浏览器判断在用户操作和window.open之间不是连续的,浏览器会认为可能是流氓程序弹出的广告窗口从而进行拦截
从楼主的描述可以看出,楼主应该是进行某个操作之后,通过ajax去获取一个url,然后通过window.open打开页面,我们都知道ajax是异步的,浏览器就认为不是连续的,所以就拦截了
解决方法可以先在操作(比如点击)的时候,直接window.open, dan kemudian pergi ke ajax untuk mendapatkan data, dan kemudian menetapkan URL pada tetingkap pseudo anggaran adalah seperti berikut:

el.addEventListener('click',function(){
    var winHandler = window.open("","_blank");
   ajax(function(url){
        winHandler.location.href = url;
   });
    
})
过去多啦不再A梦
<a href="http://www.baidu.com" target="_blank" id="xx">hahah</a>
    <button type="button" id='btn'>clickme</button>
    <script>
        document.getElementById('btn').onclick = function() {
            document.getElementById('xx').click();
        }
    </script>

Tiada apa yang salah dengannya.

仅有的幸福

Kenapa tambah _blank?

window.open('www.baidu.com')
小葫芦

Jika url mempunyai pengepala http atau https

漂亮男人

Tulis peristiwa yang mencetuskan kaedah sebagai teg, tulis logik untuk mendapatkan URL dalam Pengawal yang ditunjuk oleh teg, dan kemudian kembali ke halaman baharu, memintas kaedah tetingkap.buka secara ringkas

过去多啦不再A梦

Atas sebab keselamatan, penyemak imbas akan menyekat pop timbul secara automatik

我想大声告诉你

Hanya arahan yang membuka tetingkap baharu dalam tempoh yang singkat selepas pengguna mengkliknya, seperti window.open, tidak akan dipintas Ini adalah sekatan keselamatan penyemak imbas.

给我你的怀抱

Cuba tambah satu lagi parameter pada permintaan ajax:async: false

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan