html - ฉันจะเปิด URL ในหน้าต่างใหม่บน Safari ของ iPhone ได้อย่างไร
ทุกครั้งที่ฉันพยายามเปิด URL ด้วย window.open() จะไม่มีหน้าต่างใดเปิดขึ้น ดังนั้นฉันจึงลองวิธีนี้
<input
id="googleLink"
onclick="window.open('https://www.google.com', '_blank');"
style="display: none"
>
และฉันพยายามที่จะคลิกมันด้วย Typescript
this.googleLink = document.getElementById("googleLink") as HTMLElement;
this.googleLink.click();
และอ่านนี่
window.open(url, '_blank'); ใช้งานไม่ได้บน iMac/Safari
แต่ไม่มีอะไรช่วยได้เลย ฉันไม่ได้รันโค้ดของฉันในฟังก์ชันแบบอะซิงค์ ฉันควรทำอย่างไรดี? ฉันมี iPhone 11 และ 7 และทั้งคู่ก็ไม่ทำงาน มันทำงานได้ดีบนแอนดรอยด์และพีซี ฉันต้องการให้ URL ถูกเปิดในหน้าต่างใหม่
ฉันจำเป็นต้องทำสิ่งนี้ด้วย onClick เนื่องจากฉันกำลังใช้ pixi js และมันเป็นตัวคอนเทนเนอร์ของ pixi ที่ถูกคลิก
การตั้งค่า href ก็จะไม่ช่วยเช่นกัน เพราะฉันต้องการให้หน้าเปิดในแท็บใหม่
คำตอบ #1
สิ่งนี้ควรใช้งานได้บน Safari ด้วยเช่นกัน แต่คุณสามารถเพิ่มเป้าหมายให้กับลิงก์โดยการเพิ่ม target="_blank" ซึ่งจะเปิดลิงก์ในแท็บใหม่และควรเปิดในหน้าต่างใหม่บน Safari ด้วย นี่คือตัวอย่าง:
<a href="https://example.com" target="_blank">Link text.</a>
ในกรณีของคุณ ให้ห่อข้อมูลนำเข้าด้วยลิงก์:
<input
id="googleLink"
style="display: none"
>
ถ้าคุณไม่อยากทำสิ่งนี้ด้วย HTML และต้องการใช้ฟังก์ชัน onclick แทน คุณก็สามารถใช้ onclick="location.href='https://example.com'" ได้เช่นกัน
คำตอบ #2
คุณสามารถลองตามด้านล่างนี้
<canvas id="myCanvas" width="200" height="100" style="border: 1px solid #000;" onclick="myFunction('thisURL')"></canvas>
<script>
function myFunction(url) {
window.open(url, '_blank').focus();
}
</script>
