CTRL-click एक नए टैब में कुछ लिंक क्यों नहीं खोलता है?


17

कभी-कभी ब्राउज़ करते समय, मैं इसे नए टैब में खोलने के लिए एक लिंक पर क्लिक करूँगा। हालाँकि, एक नए टैब में खोलने के बजाय, यह क्लिक हो जाता है और वर्तमान टैब में ब्राउज हो जाता है जैसे कि मैंने इसे सामान्य रूप से ctrl पकड़े बिना क्लिक किया था। मैं सकारात्मक हूं कि मैं पूरी तरह से ctrl पकड़ रहा हूं और कीबोर्ड या माउस में कोई खराबी नहीं है।

कभी-कभी, लिंक के साथ एक नया टैब खोला जाएगा लेकिन वर्तमान टैब भी लिंक को समवर्ती रूप से ब्राउज़ करेगा।


3
शायद वे वास्तविक लिंक नहीं हैं, इस अर्थ में कि शायद "लिंक" एक onclickऑपरेशन का उपयोग कर रहा है जो ctrl + क्लिक के साथ गड़बड़ कर सकता है। क्या आप एक विशिष्ट उदाहरण दे सकते हैं? meta.stackoverflow.com/questions/276138/…
imtheman

@imtheman ग्रेट पॉइंट, हालाँकि, ऐसा प्रतीत नहीं होता है, कम से कम उदाहरणों में मैंने देखा है। मुझे यह पता है क्योंकि मैंने हमेशा अपने माउस को लिंक पर पहले ही यह प्रमाणित कर दिया था कि यह स्टेटस बार में URL दिखा रहा है। एक उदाहरण यहाँ है: nationaljournal.com/white-house/... बाएं स्तंभ / बार में, अन्य कहानियों के लिए लिंक अपने स्वयं के यूआरएल, यहां तक कि स्रोत में उनके स्थान पर कूद कर सत्यापित करने के लिए दिखाई देते हैं, तथापि, नहीं करता ctrl-क्लिक करके काम नहीं कर रहा है, बजाय अगर ctrl आयोजित नहीं किया जा रहा है।
कोल्डब्लैकाइसिस

यदि आप उस साइट के स्रोत कोड को देखते हैं तो आप इसे एक लिंक के लिए देखेंगे:<a class="primary" href="/congress" onclick="var x=&quot;.tl(&quot;;s_objectID=&quot;http://www.nationaljournal.com/congress_1&quot;;return this.s_oc?this.s_oc(e):true">Congress</a>
imtheman

1
हालांकि इसमें एक hrefविशेषता है, यह ऑनक्लिक ईवेंट द्वारा अधिलेखित है।
इत्मिनान

1
मैंने इस समस्या को ठीक करने के लिए फ़ायरफ़ॉक्स एडऑन लिखा। github.com/danielnixon/link-fixer
danielnixon

जवाबों:


7

पर्दे के पीछे जावास्क्रिप्ट

ऐसा तब होता है जब ऐसे वेब पेज के डेवलपर्स जावास्क्रिप्ट के साथ माउस क्लिक को इंटरसेप्ट करते हैं और इंटरसेप्टर के अंदर अतुल्यकालिक नेटवर्क अनुरोध करते हैं, संभवतः आपके क्लिक को ट्रैक करने के लिए। जब async नेटवर्क कॉल लौटाता है, तो JS एक प्रोग्रामेटिक रीडायरेक्ट करता है जैसे कुछ:window.location.href = url;

यह प्रोग्रामेटिक रीडायरेक्ट हमेशा पेज को उसी टैब में लोड करेगा, भले ही आप Ctrl( Cmdमैक पर) होल्ड करें ।

ओवरराइड करने के लिए MiddleMouse का उपयोग करें

अपने माउस पर मध्य बटन पर क्लिक करने या संदर्भ मेनू से 'एक नए टैब में खोलें' का चयन करने से इंटरसेप्टिंग जावास्क्रिप्ट कोड पूरी तरह से बायपास हो जाएगा और एक लिंक खुल जाएगा जैसे कि कोई जावास्क्रिप्ट कोड बिल्कुल भी नहीं था।


यह पूरी तरह से सही नहीं है। जबकि कुछ कोड डिज़ाइन एक वैकल्पिक ट्रिगर की अनुमति देते हैं जो पृष्ठ को एक नए टैब में खोलने के लिए मजबूर करते हैं, अन्य कोड डिज़ाइन इसे रोकते हैं। डायनामिक सामग्री वाली साइटों में यह अधिक सामान्य है, जिसमें विशिष्ट "पृष्ठ" नहीं होते हैं और इसके बजाय पृष्ठों को बटन के रूप में उत्पन्न करता है। इस मामले में, पृष्ठ में सही "लिंक" नहीं हैं, बल्कि बटन हैं जो एक आवेदन की तरह व्यवहार को ट्रिगर करते हैं।
संगीत

5

मैंने इसे ठीक करने के लिए लिंक-फिक्सर नाम से एक फ़ायरफ़ॉक्स ऐड-ऑन (बोरिंगली) लिखा था । आप addons.mozilla.org से इंस्टॉल कर सकते हैं । इसके लिए फ़ायरफ़ॉक्स 48.0 या बाद के संस्करण की आवश्यकता है।

खुद को उद्धृत करना:

Ctrl + क्लिक, शिफ्ट + क्लिक और cmd + का डिफ़ॉल्ट व्यवहार लिंक पर क्लिक करते समय लिंक को एक नए टैब या नई विंडो में खोलना है। यह व्यवहार कभी-कभी लापरवाह डेवलपर्स द्वारा तोड़ दिया जाता है। यह ऐड-ऑन डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करता है, यह सुनिश्चित करता है कि मोडिफ़र कुंजी हमेशा सम्मानित होती है।

एक बार स्थापित होने के बाद आपको कुछ और करने की आवश्यकता नहीं है। आप किसी भी लिंक पर क्लिक कर सकते हैं और यह एक नए टैब में खुल जाएगा। यह आपके दूसरे पैराग्राफ में वर्णित समस्या की भिन्नता को भी हल करेगा।


1
हाय डैनियल, जबकि यह बहुत अच्छा है कि आपने इसे संबोधित करने के लिए कुछ लिखा है, क्या आप पढ़ सकते हैं कि किसी उत्तर में सॉफ़्टवेयर की सिफारिश कैसे करें , विशेष रूप से बोल्ड में भागों और अपने उत्तर को अपडेट करें? धन्यवाद :)
bertieb

3

इस लिंक को एक उदाहरण के रूप में लेते हैं:

<a href="test.php" onclick="someFunction(this); return false;">Test</a>

hrefविशेषता, इस मामले में, पठनीयता के लिए एक छद्म लिंक (यह भी लिंक भी काम करने के लिए करता है, तो JavaScript अक्षम है की अनुमति देगा) पैदा कर रही है। इसका कारण यह है क्योंकि onclickविशेषता हमेशा पहले चलती है। Google जैसी बड़ी साइटें क्लिक को ट्रैक करने और उपयोगकर्ता को मैलवेयर साइटों पर जाने से रोकने के लिए प्रयास करती हैं। इस वजह से, किसी कारण से Ctrl+ काम नहीं करता है। हालांकि, यदि आप अपने माउस पर मध्य-बटन का उपयोग करते हैं, तो यह लगभग हमेशा काम करता है।


मैक पर एक मध्य-माउस खोजने की कोशिश कर रहा है
एडुआर्ड

मैंने इस समस्या को ठीक करने के लिए फ़ायरफ़ॉक्स एडऑन लिखा। github.com/danielnixon/link-fixer
danielnixon
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.