लक्ष्य = "_ रिक्त" बनाम लक्ष्य = "_ नया"


512

यदि मैं सिर्फ एक नया टैब / विंडो में एक लिंक खोलना चाहता हूं, तो मुझे <a target="_new">और किसके बीच अंतर <a target="_blank">करना चाहिए?


73
वर्तमान एवियर्स का सारांश: _newइसका कोई विशेष अर्थ नहीं है। आप भी लिख सकते हैं _white_little_lamb
अलवारो गोंजालेज

10
@ x3ro यह कहना कैसे गलत है कि " _new" का कोई विशेष अर्थ नहीं है?
अल्वारो गोंजालेज

3
@ ReferlvaroG.Vicario मैं "आप लिख सकता था ... इसके बजाय" का जिक्र कर रहा था। लेकिन इसके बारे में सोचते हुए, मैं तर्क दूंगा कि "कोई विशेष अर्थ नहीं है" "स्पष्ट रूप से हतोत्साहित" के रूप में ही नहीं है, लेकिन यह मुझे
नाइटपार्टिंग

5
मैं हर किसी को याद दिलाना चाहूंगा कि target="_blank"बिना उपयोग rel="noopener"सुरक्षा सुरक्षा भेद्यता है। rel="noopener"और जानने के लिए खोजें ।
फ्लिम्स

जवाबों:


651

"_Blank" का उपयोग करें

HTML5 युक्ति के अनुसार :

एक मान्य ब्राउज़िंग संदर्भ नाम कम से कम एक वर्ण के साथ कोई स्ट्रिंग है जो U + 005F LOW LINE वर्ण से शुरू नहीं होता है। (अंडरस्कोर से शुरू होने वाले नाम विशेष कीवर्ड के लिए आरक्षित हैं।)

एक मान्य ब्राउज़िंग संदर्भ नाम या कीवर्ड कोई भी स्ट्रिंग है जो या तो एक वैध ब्राउज़िंग संदर्भ नाम है या जो ASCII केस-असंवेदनशील मैच में से किसी एक के लिए है: _blank, _self, _parent, या _top। "- Source

इसका अर्थ है कि _newHTML5 में ऐसा कोई कीवर्ड नहीं है , और HTML4 (और परिणामस्वरूप XHTML) में भी नहीं है । इसका मतलब है, कि अगर आप इसे लक्ष्य विशेषता के लिए मान के रूप में उपयोग करते हैं, तो कोई सुसंगत व्यवहार नहीं होगा।

सुरक्षा की सिफारिश

जैसा कि डैनियल और माइकल ने टिप्पणियों में बताया है, जब _blankएक अविश्वसनीय वेबसाइट को इंगित करने वाले लक्ष्य का उपयोग करते हुए, आपको इसके अलावा, सेट करना चाहिए rel="noopener"। यह ओपनिंग साइट को जावास्क्रिप्ट के माध्यम से ओपनर के साथ गड़बड़ करने से रोकता है। देखें इस पोस्ट में अधिक जानकारी के लिए।


7
युक्ति से बोल्ड किए गए पाठ को छोड़ने से वह ध्वनि ध्वनि भ्रामक रूप से गोलाकार हो जाती है। मैंने इसे "ए valid browsing context nameया कीवर्ड किसी भी स्ट्रिंग के रूप में पढ़ा है जो valid browsing context nameया तो एक है ...."
एलेक्स ग्रिन

6
@lyoshenka, @ x3ro: मैंने पिछले पैराग्राफ को उद्धरण में जोड़ने के लिए स्वतंत्रता ली। यह भ्रम को साफ करना चाहिए।
व्यापारी

5
@ आसाडे: युक्ति पढ़ें। वे मान्य नहीं हैं , क्योंकि "my_custom_name" एक अंडरस्कोर के साथ उपसर्ग नहीं हो सकता है। इस प्रकार "नया" ठीक होगा, लेकिन "_new" नहीं है!
फ्रेसकोमा जू

7
सिक्योरिटी वाइज
डैनियल एफ

6
कहा कि लोगों को भी जोड़ना चाहिए पर विचार करें rel="noopener noreferrer"की वजह जावास्क्रिप्ट हमले भेद्यता कीtarget="_blank"
माइकल

126

उपयोग target="_blank"करने से ब्राउज़र को एक नया ब्राउज़र टैब या विंडो बनाने का निर्देश मिलेगा जब उपयोगकर्ता लिंक पर क्लिक करेगा।

target="_new"विनिर्देशों के अनुसार तकनीकी रूप से उपयोग करना अमान्य है, लेकिन जहां तक ​​मुझे पता है कि हर ब्राउज़र उसी तरह व्यवहार करेगा:

  • यह संदर्भ नाम "_new" के साथ एक टैब या विंडो खोजेगा
  • यदि "_new" टैब / विंडो मिलती है, तो URL इसमें लोड किया जाता है
  • यदि यह नहीं मिला है, तो एक नया टैब / विंडो संदर्भ नाम "_new" के साथ बनाया गया है, और URL इसमें लोड किया गया है

नोट target="_new"बिल्कुल वैसा ही व्यवहार करेगाtarget="new" , और बाद वाला वैध HTML है जबकि पूर्व अमान्य HTML है।

इसमें कुछ भ्रम को जोड़कर, HTML4 में targetविशेषता को हटा दिया गया था। एचटीएमएल 5 में यह निर्णय उलटा था, और यह एक बार फिर से कल्पना का आधिकारिक हिस्सा है। सभी ब्राउज़र इस targetबात का समर्थन करते हैं कि आप HTML के किस संस्करण का उपयोग कर रहे हैं, लेकिन कुछ सत्यापनकर्ता उपयोग को ध्वजांकित करेंगे यदि आपका सिद्धांत HTML4 है।


4
इसलिए, मूल रूप से, अगर मेरे पास दो (या अधिक) लिंक हैं target="_new", तो वे दोनों एक ही टैब में खुलेंगे, एक दूसरे पर ओवरराइट?
कला-सोलोपोव

4
@ आर्ट-सोलोपोव जहाँ तक मुझे पता है, हाँ हर ब्राउज़र में यही होगा। हालांकि "_new" एक लक्ष्य के लिए एक अवैध मूल्य है इसलिए ऐसा न करें।
अभि बेकर्ट

25

टी एल; डॉ
यूएसई _ब्लांक

लक्षित विशेषता निर्दिष्ट दस्तावेज़ को खोलने के लिए कहाँ निर्दिष्ट करती है।

USAGE: target="xyz"  [don't forget double quotes]

_blank  Opens the linked document in a new window or tab
_self   Opens the linked document in the same frame as it was clicked (this is default)
_parent     Opens the linked document in the parent frame
_top    Opens the linked document in the full body of the window 
framename   Opens the linked document in a named frame

SINCE "_new" इनमें से कोई भी ऐसा नहीं होगा जो "UNAMER" फ्रैमेनम हो, इसलिए यदि कोई उपयोगकर्ता उस हाइपरलिंक पर फिर से क्लिक करता है तो वह मौजूदा टैब को अपडेट करने के बजाय एक नया टैब नहीं खोलेगा। जबकि _blank में यदि उपयोगकर्ता दो बार क्लिक करता है तो 2 नए टैब खुलते हैं।


21

मुझे पता है कि यह एक पुराना सवाल है और सही उत्तर, उपयोग _blank, कई बार उल्लेख किया गया है, लेकिन उपयोग <a target="somesite.com" target="_blank">Link</a> करना सुरक्षा जोखिम है

इसका उपयोग करने के लिए अनुशंसा की जाती है ( प्रदर्शन लाभ ):

<a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>

1
सुरक्षा जोखिम पहलू पर बस कुछ अतिरिक्त पढ़ना: jitbit.com/alexblog/…
8bithero

14

यह पहले पूछा जा सकता है लेकिन:

"प्रत्येक लिंक जो लक्ष्य निर्दिष्ट करता है =" _ new "खोजता है और उस विंडो को नाम से पाता है, और उसमें खुलता है।

यदि आप लक्ष्य = "_ रिक्त" का उपयोग करते हैं, तो प्रत्येक बार वर्तमान विंडो के शीर्ष पर एक नई विंडो बनाई जाएगी। "

यहाँ से: http://thedesignspace.net/MT2archives/000316.html


12

target="_blank" अधिकांश ब्राउज़रों में एक नया टैब खोलता है।


12

यह मेरी समझ है जो target = whateverउस नाम के साथ एक फ्रेम / खिड़की की तलाश करेगा। यदि नहीं मिला है, तो यह उस नाम के साथ एक नई विंडो खोलेगा। यदि whatever == "_new", यह वैसा ही दिखाई देगा जैसा कि आपने उपयोग किया था _blank.....

आरक्षित लक्ष्य नामों में से एक का उपयोग करना "तलाश" चरण को बायपास करेगा। तो, target = "_blank"एक दर्जन लिंक पर एक दर्जन खाली खिड़कियां खुलेंगी, लेकिन target = whateverएक दर्जन लिंक पर केवल एक खिड़की खुलेगी।target = "_new"एक दर्जन से अधिक लिंक अनिश्चित व्यवहार दे सकते हैं। मैंने इसे कई ब्राउज़रों पर आज़माया नहीं है, लेकिन केवल एक विंडो खोलनी चाहिए।

कम से कम इस तरह से मैं नियमों की व्याख्या करता हूं।


9

सावधानी - हमेशा "उद्धरण" को शामिल करना याद रखें - कम से कम क्रोम पर, target=_blank(कोई उद्धरण नहीं) समान नहीं हैtarget="_blank" (उद्धरण के साथ)।

बाद वाला प्रत्येक लिंक एक नए टैब / विंडो में खोलता है। पूर्व (अनुपलब्ध उद्धरण) एक नया टैब / विंडो में आपके द्वारा क्लिक की गई पहली लिंक को खोलता है, फिर उसी टैब / विंडो को ओवरराइट करता है, जिसके बाद आप प्रत्येक लिंक पर क्लिक करते हैं (जिसका नाम गुम उद्धरणों के साथ भी है)।


बहुत अच्छी बात है। मैं इस मामले में भाग गया जब मैं उद्धरण में _blank संलग्न नहीं किया था। मैंने अपने नए बनाए गए "रिक्त" टैब से जिस लिंक पर क्लिक किया था, वह नया टैब खोलने के बजाय उस टैब के भीतर लेखन सामग्री से अधिक था। कोट में _blank संलग्न करने से क्रोम हर बार एक नया टैब खोलने के लिए मजबूर करता है।
स्टीव शायर

इसके अलावा, "_blank" नहीं "_BLANK" का उपयोग करना सुनिश्चित करें। क्रोम वास्तव में मामले के बारे में उधम मचाता है और कई बार "_BLANK" का उपयोग करके एक नया टैब नहीं खोलेगा।
स्टीव शायर

5
  • लक्ष्य मान के रूप में _blank हर बार एक नई विंडो स्पॉन करेगा,
  • _new केवल एक नई विंडो स्पॉन करेगा।

इसके अलावा, _new के लक्ष्य मान के साथ क्लिक किया गया प्रत्येक लिंक पहले से ही बंद विंडो में लोड किए गए पृष्ठ को बदल देगा।

जब आप अपने लिए इसे आज़माने के लिए यहाँ क्लिक करें तो _blank या _new का उपयोग कैसे करें।


क्या आप बता सकते हैं कि कौन से ब्राउज़र _newवर्णित हैं?
दिमा तिस्नेक

@qarma वह व्यवहार जैसा कि मुझे पता है कि सभी ब्राउज़रों में वर्णित है, _newएक जादुई कुंजी शब्द नहीं है, यह सिर्फ एक नाम है, अगर उस नाम की एक खिड़की मौजूद है तो इसे फिर से उपयोग करेंगे, अन्यथा यह इसे खोल देगा। उस विंडो के लिए कई लिंक पर क्लिक करने से कई नए पेज खोलने के बजाय सिर्फ नाम वाली विंडो में अलग-अलग पेज खुलेंगे।
स्क्रैगर

कल्पना वास्तव में उन ब्राउज़रों को सुझाव देती है कि वे ignoreलक्ष्य बनाते हैं जो कि रेखांकन से शुरू होते हैं लेकिन कीवर्ड नहीं हैं। एक अमान्य लक्ष्य नाम को "अनदेखा" करने पर ब्राउज़र को क्या करना चाहिए, इसके लिए कोई सुझाव नहीं हैं। संभावनाओं में शामिल हैं: (1) इसे "_blank" की तरह व्यवहार करें (2) इसे एक खिड़की के नाम की तरह व्यवहार करें (जैसे कि कोई अवैध अंडरस्कोर नहीं था) (3) इसे एक स्पष्ट रूप से खाली विंडो नाम की तरह व्यवहार करें (4) इसे वहां की तरह व्यवहार करें कोई लक्ष्य विशेषता नहीं थी। - कोई भी ब्राउज़र किसी भी व्याख्या को चुन सकता है।
जेसी चिशोल्म

0

एक लिंक की लक्ष्य विशेषता ब्राउज़र को एक नई ब्राउज़र विंडो में गंतव्य पृष्ठ खोलने के लिए मजबूर करती है। _blankलक्ष्य मान के रूप में उपयोग करने से हर बार एक नई विंडो दिखाई _newदेगी, जबकि उपयोग करने से केवल एक नई विंडो दिखाई देगी और प्रत्येक लिंक _newको पहले लक्षित विंडो में लोड किए गए पृष्ठ को प्रतिस्थापित करने के लक्ष्य मान के साथ क्लिक किया जाएगा


0

आपके द्वारा उपयोग किए जाने वाले नए टैब / विंडो में एक लिंक खोलने के लिए <a target="_blank">

मूल्य _blank = लक्षित ब्राउज़िंग संदर्भ: आपकी ब्राउज़िंग सेटिंग के आधार पर एक नया: टैब या विंडो

मूल्य _new = मान्य नहीं; किसी तत्व पर लक्ष्य विशेषता के लिए HTML5 में ऐसा कोई मूल्य नहीं है

एक तत्व पर अपने सभी मूल्यों के साथ लक्ष्य विशेषता: वीडियो डेमो


-1

_New का उपयोग उन पृष्ठों पर काम करते समय उपयोगी होता है जो इफ्रामेड हैं। चूंकि लक्ष्य = "_ रिक्त" चाल नहीं करता है और एक ही iframe पर पृष्ठ खोलता है ... लक्ष्य नया, Ifameame पृष्ठों के लिए सबसे अच्छा समाधान है। बस मेरे पांच सेंट।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.