วิธีทำให้ HTML เปิดไฮเปอร์ลิงก์ในหน้าต่างหรือแท็บอื่น


93

นี่คือบรรทัดสำหรับไฮเปอร์ลิงก์ใน HTML:

<a href="http://www.starfall.com/">Starfall</a>

ดังนั้นหากฉันคลิกที่ "Starfall" เบราว์เซอร์ของฉัน - ฉันกำลังใช้ FireFox - จะพาฉันไปที่หน้าใหม่นั้นและเนื้อหาในหน้าต่างของฉันจะเปลี่ยนไป ฉันสงสัยว่าฉันจะทำสิ่งนี้ใน HTML ได้อย่างไรเพื่อให้หน้าใหม่เปิดขึ้นในหน้าต่างใหม่แทนที่จะเปลี่ยนหน้าก่อนหน้านี้ มีวิธีดังกล่าวใน HTML หรือไม่?

และถ้าใช่มีวิธีเปิดหน้าที่ร้องขอในแท็บอื่น (ไม่ใช่หน้าต่างอื่น) ของเบราว์เซอร์ของฉันหรือไม่?

คำตอบ:


138
<a href="http://www.starfall.com/" target="_blank">Starfall</a>

ไม่ว่าจะเปิดในแท็บหรือหน้าต่างอื่น แต่ขึ้นอยู่กับว่าผู้ใช้กำหนดค่าเบราว์เซอร์ของเธออย่างไร


6
ไม่ใช่ทุกเบราว์เซอร์ที่รองรับแท็บและในส่วนนั้นหน้าที่เปิดในแท็บใหม่เทียบกับหน้าต่างใหม่เป็นการตั้งค่าที่ผู้ใช้กำหนดค่าได้ ไม่มีวิธีปัจจุบันในการระบุลิงก์ที่จำเป็นต้องเปิดในแท็บเทียบกับหน้าต่าง
bta

2
โปรดจำไว้ว่าต้องมีการประกาศแอตทริบิวต์เป้าหมายหลังจากแอตทริบิวต์ href
MC

109

วิธีที่ง่ายที่สุดคือเพิ่มแท็กเป้าหมาย

<a href="http://www.starfall.com/" target="Starfall">Starfall</a>

ใช้ค่าที่แตกต่างกันสำหรับแอตทริบิวต์เป้าหมายสำหรับแต่ละลิงก์หากคุณต้องการให้เปิดในแท็บต่างๆค่าเดียวกันสำหรับแอตทริบิวต์เป้าหมายหากคุณต้องการให้แทนที่ค่าอื่น ๆ


47
+1 เพื่อชี้ให้เห็นว่าเป้าหมายไม่จำเป็นต้องเป็น "_blank"
GS ถึง

4
เป็นที่น่าสังเกตว่านี่คือ HTML5 ที่ถูกต้อง
AeroCross

คำว่า 'ชื่อ' หมายถึงอะไร?
Vnge



7

targetแอตทริบิวต์เป็นวิธีที่ดีที่สุดของการทำเช่นนี้

<a href="http://www.starfall.com" target="_blank">

จะเปิดขึ้นในแท็บหรือหน้าต่างใหม่ ซึ่งขึ้นอยู่กับการตั้งค่าของผู้ใช้

<a href="http://www.starfall.com" target="_self">

เป็นค่าเริ่มต้น ทำให้หน้าเปิดขึ้นในแท็บเดียวกัน (หรือ iframe หากนั่นคือสิ่งที่คุณกำลังจัดการอยู่)
สองข้อต่อไปจะดีก็ต่อเมื่อคุณกำลังจัดการกับ iframe

<a href="http://www.starfall.com" target="_parent">

จะเปิดลิงค์ใน iframe ที่ iframe ที่มีลิงค์อยู่

<a href="http://www.starfall.com" target="_top">

จะเปิดลิงค์ในแท็บไม่ว่าจะต้องผ่าน iframes กี่ครั้งก็ตาม


ฉันจะใช้ข้อความสีนั้นในตัวอย่างของทุกคนได้อย่างไร
hellol11

6

target = _blank จะเปิดขึ้นในแท็บหรือหน้าต่างใหม่ตามการตั้งค่าเบราว์เซอร์

ในการบังคับหน้าต่างใหม่ให้ใช้ javascript onclick จำเป็นต้องใช้ทั้งสามส่วน url ชื่อและขนาดความกว้างและความสูงของหน้าต่างหรือจะเปิดในแท็บใหม่

<a onclick="window.open('http://www.starfall.com/','name','width=600,height=400')">Starfall</a>

4

คุณสามารถทำได้โดยเพิ่มสิ่งต่อไปนี้ในส่วนหัวของเพจของคุณ:

<base target="_blank">

การดำเนินการนี้จะทำให้ลิงก์ทั้งหมดบนเพจของคุณเปิดในแท็บใหม่


4

เนื่องจากเว็บมีการพัฒนาอย่างรวดเร็วบางสิ่งจึงเปลี่ยนแปลงไปตามกาลเวลา สำหรับปัญหาด้านความปลอดภัยคุณอาจต้องการใช้rel="noopener"แอตทริบิวต์ร่วมกับtarget="_blank"ไฟล์.

เช่นเดียวกับที่ระบุไว้ในเอกสาร Google Devหน้าอื่น ๆ สามารถเข้าถึงวัตถุหน้าต่างของคุณด้วยไฟล์window.opener property. ลิงค์ภายนอกของคุณควรมีลักษณะดังนี้:

<a href="http://www.starfall.com/" target="_blank" rel="noopener">Starfall</a>

<a href="http://www.starfall.com/" target="_blank" rel="noopener noreferrer">Starfall</a>วันนี้มันดูเหมือนจะเป็นวิธีที่ดีที่สุดที่จะมีทั้ง
ContextCue

1

ตัวอย่างด้านล่างที่ใช้target="_blank"งานได้กับ Safari และ Mozilla

<a href="http://www.starfall.com" `target="_blank"`>

การใช้target="new"งานสำหรับ Chrome

<a href="http://www.starfall.com" `target="new"`>

2
อะไรที่ทำให้คำตอบของคุณแตกต่างจากคนอื่น ๆ อีกหลายสิบคน?
Farside
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.