क्या HTML5 में लक्ष्य = "_ blank" का उपयोग करना ठीक है?


165

मुझे याद आया कि कहीं न कहीं एचटीएमएल 5 में पढ़ना एचटीएमएल 5 में उपयोग करना ठीक नहीं था target="_blank", लेकिन मैं इसे अब नहीं ढूंढ सकता।

क्या इसका उपयोग जारी रखना ठीक है target="_blank"?

मुझे पता है कि इसे आमतौर पर एक बुरा विचार माना जाता है, लेकिन यह पीडीएफ की तरह कुछ के लिए एक नई विंडो खोलने का सबसे आसान तरीका है, और इसके लिए आपको जावास्क्रिप्ट पर भरोसा करने की भी आवश्यकता नहीं है।


5
वैसे आम तौर पर यदि आप अपनी साइट से कोई बाहरी साइट खोलना चाहते हैं, तो एक नई विंडो खोलना (जो कि संभवतः अधिकांश ब्राउज़र के इन दिनों में एक नया टैब है) मेरी राय में एक बेहतर विचार है।
हॉब्स ३

7
@ hobbes3, कृपया मेरे नेविगेशन और मेरे इतिहास को गड़बड़ाना बंद करें। मैं वह व्यक्ति हूं जो ब्राउज़िंग कर रहा है, और यह वह है जो तय कर रहा है कि क्या लिंक एक नए (मध्य-क्लिक) या उसी (बाएं-क्लिक) टैब में खुलनी चाहिए। जब मैं एक वेब-साइट पर आता हूं तो मुझे नए टैब में हर लिंक को खोलने के लिए "इसके सबसे अच्छे अभ्यास" का पालन करने के लिए मजबूर किया जाता है, मैं तुरंत और ख़ुशी से छोड़ देता हूँ।
अल्बेरियो

9
@Albireo, यह सिर्फ मेरी राय है और कुछ लोकप्रिय वेब सेवाएं समान विचार को भी शामिल करती हैं। उदाहरण के लिए, जीमेल में आपके मेल के लिंक पर क्लिक करने से डिफ़ॉल्ट रूप से एक नई विंडो खुल जाती है।
hobbes3

12
@Albireo आप मान रहे हैं कि उपयोगकर्ता हमेशा उतना ही उन्नत और तकनीक-प्रेमी है जितना आप हैं।
माइक कैंपबेल

3
वहाँ एक कारण क्यों targetएट अल है। मौजूद। कभी-कभी वे एक आवश्यकता होती हैं। उदाहरण के लिए, स्टेटफुल जेएस के साथ एक गतिशील रूप से जेनरेट किया गया पेज, जहां एक आइफ्रेम एक नए टैब की तुलना में कम वांछनीय है (उदाहरण के लिए, पीडीएफ देखना, ओपी राज्यों के रूप में)। या जब कोई सुरक्षित साइट (जैसे बैंक) आपको बाहरी लिंक पर भेजता है, लेकिन सामग्री समाप्ति के कारण बैक बटन के उपयोग की अनुमति नहीं देता है। सभी चीजों की तरह यह HTML विशेषता उपयोग करने के लिए एक "बुरा विचार" नहीं है, लेकिन इसका उपयोग सभी प्रोग्रामिंग में लाइब्रेरी, क्लास, फ़ंक्शन और प्रॉपर्टी के साथ, विचार और देखभाल के साथ किया जाना चाहिए।
s.co.tt

जवाबों:


159

ऐसा लग रहा है target="_blank"कि अभी भी ठीक है। इसे नवीनतम HTML5 ड्राफ्ट में ब्राउज़िंग संदर्भ कीवर्ड के रूप में सूचीबद्ध किया गया है ।


54
target="_blank"उपयोगकर्ता द्वारा लिंक पर क्लिक करने पर हर बार एक नई विंडो खोलने का कारण होगा । जब तक यह वास्तव में है कि आप क्या करना चाहते हैं (और यह शायद ही कभी होता है) का उपयोग target="somethingUnique"करने पर विचार करें ताकि उपयोगकर्ता को केवल एक विंडो खोलने की सुविधा मिले, भले ही वे कई बार लिंक पर क्लिक करें। यह एक बहुत अच्छे UX के लिए बनाता है।
बैंकेसन

4
@BanksySan: एक उदाहरण जहां मुझे लगता है कि target="_blank"अच्छा है बटनों को साझा करना।
मार्टिन थोम

अगर मैं एक लंबा लेख पढ़ रहा हूं और किसी अन्य साइट (या उसी साइट) पर कुछ संबंधित जानकारी का संदर्भ है। मैं अक्सर मूल लेख में अपनी जगह खोए बिना दोनों के बीच आगे-पीछे कूदना चाहता हूं। लक्ष्य = "_ रिक्त" इसके लिए एकदम सही है। पृष्ठ को छोड़ना और प्रत्येक पृष्ठ को वैकल्पिक रूप से पुनः लोड करना (अक्सर दोनों पृष्ठ में मेरा स्थान खोना), नहीं है। हां, मुझे पता है कि मैं लिंक पर राइट-क्लिक कर सकता हूं और इसे एक नए टैब में खोल सकता हूं, लेकिन मैं ऐसा नहीं करना चाहता क्योंकि यह मेरी एकाग्रता को तोड़ देगा, और मुझे संदेह है कि अधिकांश वेब उपयोगकर्ताओं को पता नहीं है कि कैसे।
बॉब रे

लक्ष्य विशेषता के कई लाभ हैं। Im नहीं है कि disq। पॉपअप विज्ञापनदाताओं ने इसके उद्देश्य को नष्ट कर दिया, लेकिन आज इतनी सारी सेवाएं ब्राउजिंग एक्सपीरिएंस को छोड़कर, कई लोग वर्तमान लेख या टैब को छोड़ना नहीं चाहते, लेकिन फिर भी भारी डाउनलोड पीडीएफ या वीडियो के साथ इंटरैक्ट करते हैं। _Blank का उपयोग करने से यह सुनिश्चित करें कि आप उपयोगकर्ता को एक खाली टैब पॉप्युलेट करने दें - वर्तमान पॉपुलेटिंग सामग्री को ओवरराइड न करें, यदि आप एक ही सत्र / साइट पर कई लिंक परोसें। अनूठे नाम केवल 90 गीतों के साथ एक ऑडियो-सूची में गड़बड़ कर रहे हैं .... चिरायु ला लक्ष्य, विवा ला
_ब्लांक

91

इसका उपयोग करना ठीक है target="_blank" ; यह XHTML के साथ दूर किया गया था क्योंकि नई विंडो को लक्षित करने से अधिकांश ब्राउज़रों में पॉप-अप अलर्ट हमेशा आएगा। XHTML हमेशा एक मान्य में लक्ष्य विशेषता के साथ एक त्रुटि दिखाएगा।

HTML 5 इसे वापस लाया क्योंकि हम अभी भी इसका उपयोग करते हैं। यह हमारा दोस्त है और हम इसे जाने नहीं दे सकते।

कभी जाने मत दो।


आप जो दावा करते हैं वह केवल HTML कड़ाई के लिए मान्य है।
क्वाटर्ज़मैन

XHTML के साथ-साथ HTML के लिए भी।
मेमोरियल

15

हालांकि target="_blank"है एचटीएमएल 5 में स्वीकार्य , मैं व्यक्तिगत रूप से यह (यहां तक कि एक नई विंडो में पीडीएफ़ खोलने के लिए) का उपयोग करने के लिए कभी नहीं की कोशिश करो।

HTML को अर्थ और सामग्री को परिभाषित करना चाहिए । अपने आप से पूछें, "होगा जिसका अर्थ है की aतत्व परिवर्तन करता है, तो targetविशेषता हटा दिया गया है?" यदि नहीं, तो कोड को HTML में नहीं जाना चाहिए। (वास्तव में मुझे आश्चर्य है कि W3C ने इसे रखा ... मुझे लगता है कि वे वास्तव में बस जाने नहीं दे सकते।)

ब्राउज़र व्यवहार , विशेष रूप से, उपयोगकर्ता के साथ इंटरैक्टिव व्यवहार , क्लाइंट-साइड स्क्रिप्टिंग भाषाओं जैसे जावास्क्रिप्ट के साथ लागू किया जाना चाहिए। चूंकि आप चाहते हैं कि ब्राउज़र एक विशेष तरीके से व्यवहार करे, अर्थात, एक नई विंडो खोलते हुए, आपको JS का उपयोग करना चाहिए। लेकिन जैसा कि आपने उल्लेख किया है, इस व्यवहार के लिए ब्राउज़र को JS पर भरोसा करना आवश्यक है। (हालांकि यदि आपकी साइट इनायत से नीचा दिखाती है, या उत्तरोत्तर बढ़ाती है, या जो भी है , तो यह अभी भी ठीक होना चाहिए। जेएस अक्षम वाले उपयोगकर्ता बहुत याद नहीं करेंगे।)

यह कहा जा रहा है, इनमें से कोई भी सही उत्तर नहीं है। कहीं न कहीं राय है कि एक लिंक कैसे खुलता है अंत में अंतिम उपयोगकर्ता द्वारा तय किया जाना चाहिएइसका उदाहरण लीजिए।

आप विकिपीडिया पर सर्फिंग कर रहे हैं, खरगोश के छेद में गहरा और गहरा हो रहा है। आपके पढ़ने में एक लिंक आता है।

मान लें कि आप वापस आने से पहले लिंक किए गए पेज को तुरंत स्किम करना चाहते हैं। आप इसे एक नए टैब में खोल सकते हैं, और फिर इसे पूरा करने के बाद बंद कर सकते हैं (क्योंकि 'बैक' बटन को हिट करने और पेज रीलोड की प्रतीक्षा में बहुत लंबा समय लगता है)। या, क्या होगा अगर यह दिलचस्प दिखता है और आप इसे बाद में सहेजना चाहते हैं? हो सकता है कि आपको इसके बजाय एक नई पृष्ठभूमि टैब में खोलना चाहिए, और वर्तमान पृष्ठ को पढ़ना जारी रखना चाहिए। या, हो सकता है कि आप तय करें कि आप इस पृष्ठ को पढ़ रहे हैं, इसलिए आप वर्तमान टैब में लिंक का अनुसरण करेंगे।

मुद्दा यह है, आपके पास अपने स्वयं के वर्कफ़्लो हैं, और आप अपने ब्राउज़र को तदनुसार व्यवहार करना चाहेंगे। यदि आप इस प्रकार के निर्णय लेते हैं तो आप बहुत निराश हो सकते हैं।

कहा जा रहा है, वेब डेवलपर्स को यह बिल्कुल स्पष्ट करना चाहिए कि उनके लिंक कहाँ जाते हैं, वे किस प्रकार और / या उन स्रोतों के स्वरूपों को संदर्भित करते हैं, और वे क्या करते हैं। टूलटिप्स आपके मित्र हो सकते हैं (जब तक कि आप टैबलेट या फोन का उपयोग नहीं कर रहे हों, उस स्थिति में, मोबाइल साइट पर इन्हें निर्दिष्ट करें)। हम सभी जानते हैं कि यह कितना बेकार हो जाता है कहीं हम उम्मीद नहीं कर रहे थे या कुछ ऐसा हो गया जिसका हमें मतलब नहीं था।


और अगर कोई भी एक उपयोगकर्ता विजेट डिजाइन करने के लिए पर्याप्त रूप से चतुर था, जिसने हर लिंक के साथ आसानी से अपने ईश्वर प्रदत्त नियंत्रण का उपयोग करने की अनुमति दी (आसानी से, अवचेतन रूप से), तो इसे ब्राउज़र में जोड़ा जाना चाहिए और सभी <a> टैग हो सकते हैं यह प्रदान करें।
मार्क गोल्डफेन

मेरी राय में यह उत्तर तार्किक और वास्तुशिल्प रूप से सबसे सटीक है। एक आदर्श दुनिया में, लेखकों को विखंडू की उचित अर्थ पहचान के बारे में अधिक चिंतित होना चाहिए, और विखंडू के व्यवहार को पूर्व निर्धारित करने के बारे में कम होना चाहिए। उभरते अनुकूली सामग्री ब्रह्मांड में, खिड़की का व्यवहार इस बात पर निर्भर हो सकता है कि अनुरोध के समय कौन सा संवेदनशील विषय या उपयोगकर्ता वरीयता प्रभाव में है; आउटगोइंग शब्दार्थ "चीज़" को केवल परिवर्तन (DOM या regex, सर्वर या ब्राउज़र) द्वारा संशोधित किया गया है। इस तरह, विंडो व्यवहार CMS में लेखक के बजाय उपयोगकर्ता तक हो सकते हैं।
डॉन डे

12

यह पीडीएफ की तरह कुछ के लिए एक नई विंडो खोलने का सबसे आसान तरीका है

यह गैर-विंडोज उपयोगकर्ताओं को परेशान करने का सबसे आसान तरीका है। अन्य प्लेटफार्मों पर ब्राउज़र में पीडीएफ ठीक ठीक खुला। एक नई विंडो खोलने से नेविगेशन इतिहास गड़बड़ हो जाता है और स्मार्टफोन जैसे छोटे प्लेटफॉर्म पर मामला उलझ जाता है।

पीडीएफ जैसी चीजों के लिए नई खिड़कियां न खोलें क्योंकि विंडोज के पुराने संस्करण टूट गए थे।


11
जानिए जब आप लोगों को बताते हैं कि किसी चीज का इस्तेमाल न करें तो क्या होगा? उन्हें यह दिखाने के लिए कि क्या उपयोग करना है, HTML5 डाउनलोड विशेषता: <a href="ffile here here"" href="file.ext"> आदि </a>
जॉन

5

अधिकांश वेब डेवलपर्स target="_blank"नए टैब में लिंक खोलने के लिए ही उपयोग करते हैं । यदि आप target="_blank"केवल नए टैब में लिंक खोलने के लिए उपयोग करते हैं , तो यह एक हमलावर के लिए असुरक्षित है। जब आप एक नए टैब में एक लिंक खोलते हैं ( target="_blank"), एक नया टैब में खुलने वाला पेज प्रारंभिक टैब तक पहुंच सकता है और इसका उपयोग करके अपना स्थान बदल सकता हैwindow.opener संपत्ति है।

जावास्क्रिप्ट कोड:

window.opener.location.replace(malicious URL)

रोकथाम:

rel="nofollow noopener noreferrer"

मुझे यकीन नहीं है कि nofollow सुरक्षा से संबंधित है - यह सर्च इंजन बॉट्स के लिए है।
डैरिल हेन

4

हालांकि HTML5 में लक्ष्य अभी भी स्वीकार्य है लेकिन यह पसंदीदा नहीं है। एक पीडीएफ फाइल से लिंक करने के लिए डाउनलोड का उपयोग करें के लिए लक्ष्य विशेषता के बजाय विशेषता का ।

यहाँ एक उदाहरण है:

<a href="files/invoice.pdf" download>Invoice</a>

यदि मूल फ़ाइल नाम को अद्वितीय फ़ाइल संग्रहण के लिए कोडित किया गया है, तो आप डाउनलोड विशेषता के लिए एक मान प्रदान करके उपयोगकर्ता के अनुकूल डाउनलोड नाम निर्दिष्ट कर सकते हैं:

<a href="files/j24oHPqJiUR2ftK0oeNH.pdf" download="invoice.pdf">Invoice</a>

ध्यान रखें कि अधिकांश आधुनिक ब्राउज़र इस सुविधा का समर्थन करते हैं लेकिन कुछ नहीं कर सकते हैं। अधिक जानकारी के लिए caniuse.com देखें ।



0

आप इसे निम्न तरीके से jquery के साथ कर सकते हैं, यह इसे एक नई विंडो में खोलेगा:

<input type="button" id="idboton" value="google" name="boton" /> 

<script type="text/javascript">
    $('#idboton').click(function(){
        window.open('https://www.google.com.co');
    });

</script>

लक्ष्य के साथ बटन के चारों ओर एक फ़ॉर्म क्यों नहीं जोड़ा गया है = "_ blank"। ऐसा लगता है कि यह आसान होगा और जेएस की आवश्यकता को दूर करेगा।
डेरिल हेन

-1

मुझे लगता है कि लक्ष्य विशेषता के लिए पदावनत किया गया है <link> तत्व के , नहीं <a>, शायद इसीलिए आपने सुना है कि इसका अब उपयोग नहीं किया जाना चाहिए।

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