Rumah > Soal Jawab > teks badan
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.
巴扎黑2017-05-16 13:14:48
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梦2017-05-16 13:14:48
<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.
漂亮男人2017-05-16 13:14:48
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梦2017-05-16 13:14:48
Atas sebab keselamatan, penyemak imbas akan menyekat pop timbul secara automatik
我想大声告诉你2017-05-16 13:14:48
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.