ในการเขียนโปรแกรมเว็บเมื่อใช้ JS เพื่อเปิดหน้าในหน้าต่างใหม่คุณจะพบกับสถานการณ์ที่เบราว์เซอร์ถูกสกัดกั้น ดังนั้นเราจะทำให้ JS เปิดหน้าต่างใหม่โดยไม่ถูกบล็อกโดยเบราว์เซอร์ได้อย่างไร
1. คำถาม 1
โดยทั่วไปถ้าคุณเรียกใช้ฟังก์ชั่น window.open () โดยตรงใน JS เพื่อเปิดหน้าต่างใหม่เบราว์เซอร์จะสกัดกั้นหน้าต่างป๊อปอัพเนื่องจากเบราว์เซอร์จะพิจารณาหน้าต่างให้เป็นแบบฟอร์มที่ผู้ใช้ไม่ต้องการได้รับ
1. โซลูชัน
เปลี่ยนฟังก์ชั่น window.open () ที่จะถูกเรียกใช้เมื่อผู้ใช้คลิกอย่างแข็งขันและเพิ่มเหตุการณ์ onClick ลงในไฮเปอร์ลิงก์ วิธีนี้เบราว์เซอร์คิดว่าผู้ใช้ต้องการเข้าถึงหน้านี้แทนที่จะโผล่เข้ามาในผู้ใช้โดยตรง
2. ตัวอย่าง:
<a href = "javascript: void (0)" onclick = "window.open ()"> </a>
ด้วยวิธีนี้ผู้ใช้คลิกที่ไฮเปอร์ลิงก์นี้และเบราว์เซอร์จะคิดว่ามันกำลังเปิดลิงค์ใหม่ดังนั้นมันจะไม่สกัดกั้น
2. คำถาม 2
ใช้ AJAX เพื่อประมวลผลข้อมูล เมื่อคุณคลิกเพื่อรับข้อมูลคุณจะข้ามไปยังหน้าใหม่ ในเวลานี้คุณจะถูกสกัดกั้นโดยเบราว์เซอร์
1. โซลูชัน
ก่อนอื่นใช้ window.open เพื่อเปิดหน้าต่างจากนั้นแก้ไขที่อยู่หน้าต่าง
2. ตัวอย่างเช่น
var tempwindow = window.open (); tempwindow.location = '/jump/new';
ด้านบนเป็นทางออกของหน้าต่างใหม่ JS Pop-Up ใหม่ที่แนะนำโดย Editor ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!