คุณไม่สามารถควบคุมสิ่งนี้ได้โดยตรงเนื่องจากเป็นตัวเลือกที่ควบคุมโดยผู้ใช้ Internet Explorer
การเปิดหน้าโดยใช้ Window.open ด้วยชื่อหน้าต่างอื่นจะเปิดขึ้นในหน้าต่างเบราว์เซอร์ใหม่เช่นป๊อปอัปหรือเปิดในแท็บใหม่หากผู้ใช้กำหนดค่าเบราว์เซอร์ให้ทำเช่นนั้น
แก้ไข:
คำอธิบายโดยละเอียดเพิ่มเติม:
1.ในเบราว์เซอร์สมัยใหม่ window.open จะเปิดขึ้นในแท็บใหม่แทนที่จะเป็นป๊อปอัป
2.คุณสามารถบังคับให้เบราว์เซอร์ใช้หน้าต่างใหม่ ('ป๊อปอัป') โดยระบุตัวเลือกในพารามิเตอร์ที่ 3
3.หากการเรียก window.open ไม่ได้เป็นส่วนหนึ่งของเหตุการณ์ที่เริ่มโดยผู้ใช้การเรียกจะเปิดในหน้าต่างใหม่
4. "เหตุการณ์ที่ผู้ใช้เริ่มต้น" ไม่จำเป็นต้องมีการเรียกใช้ฟังก์ชันเดียวกัน แต่จะต้องมาจากฟังก์ชันที่เรียกใช้โดยการคลิกของผู้ใช้
5.หากผู้ใช้เริ่มต้นเหตุการณ์มอบหมายหรือเลื่อนการเรียกใช้ฟังก์ชัน (ในผู้ฟังเหตุการณ์หรือผู้รับมอบสิทธิ์ที่ไม่ผูกพันกับเหตุการณ์การคลิกหรือโดยใช้ setTimeout เป็นต้น) ผู้ใช้จะสูญเสียสถานะเป็น "ผู้ใช้เริ่มต้น"
6.ตัวป้องกันป๊อปอัปบางตัวจะอนุญาตให้เปิดหน้าต่างจากเหตุการณ์ที่ผู้ใช้เริ่มต้นขึ้น แต่จะเปิดไม่ได้
7.หากป๊อปอัปใด ๆ ถูกบล็อกตัวบล็อกที่อนุญาตตามปกติ (ผ่านเหตุการณ์ที่ผู้ใช้เริ่มต้น) จะถูกบล็อก ตัวอย่างบางส่วน ...
บังคับให้เปิดหน้าต่างในอินสแตนซ์เบราว์เซอร์ใหม่แทนที่จะเป็นแท็บใหม่:
window.open('page.php', '', 'width=1000');
สิ่งต่อไปนี้จะถือว่าเป็นเหตุการณ์ที่ผู้ใช้เริ่มต้นแม้ว่าจะเรียกใช้ฟังก์ชันอื่น:
function o(){
window.open('page.php');
}
$('button').addEvent('click', o);
สิ่งต่อไปนี้จะไม่ถือเป็นเหตุการณ์ที่เริ่มโดยผู้ใช้เนื่องจาก setTimeout เลื่อนออกไป:
function g(){
setTimeout(o, 1);
}
function o(){
window.open('page.php');
}
$('button').addEvent('click', g);