जावास्क्रिप्ट - एक बटन पर क्लिक करके दिए गए URL को एक नए टैब में खोलें


109

मैं एक बटन रखना चाहूंगा जो किसी दिए गए URL पर रीडायरेक्ट करता है और एक नए टैब में खुलता है। यह कैसे किया जा सकता है?

जवाबों:


143

इसे इस्तेमाल करो:

<input type="button" value="button name" onclick="window.open('http://www.website.com/page')" />

मेरे लिए काम किया और यह एक नए पूर्ण ब्राउज़र या टैब के बजाय एक वास्तविक नई 'पॉपअप' विंडो खोलेगा। आप इसे निम्न प्रकार से विशिष्ट ब्राउज़र लक्षण दिखाने से रोकने के लिए इसमें चर भी जोड़ सकते हैं:

onclick="window.open(this.href,'popUpWindow','height=400,width=600,left=10,top=10,,scrollbars=yes,menubar=no'); return false;"

2
@ wong2 शायद इस एक का जवाब बदलना चाहता है। वर्तमान में जिसको चुना गया है वह कुशल होने के लिए बहुत चिंतित है।
सीएसएस


29

लक्ष्य जोड़ना = "रिक्त" इसे करना चाहिए:

<a id="myLink" href="www.google.com" target="_blank">google</a>

3
मुझे लगता है, माफ करना, मुझे याद है। खैर, आप एक बटन की तरह देखने और महसूस करने के लिए लिंक को स्टाइल कर सकते हैं। यदि आप jQuery UI का उपयोग कर रहे हैं तो ऐसा करने के लिए केवल बटन का उपयोग करें
टिम बुथ

1
हम में से अधिकांश के लिए उत्कृष्ट समाधान जो केवल वेब डिजाइन में डब्बल है! धन्यवाद!
SMBiggs

1
+1 क्योंकि आपने एक सरल "नए टैब में खुले लिंक" उत्तर की तलाश करने वालों को एक अच्छा समाधान दिया है, अगर वे एक बटन का उपयोग नहीं कर रहे हैं।
user295583058

बिल्कुल वही जो मैं चाहता हूं। धन्यवाद
शाहरुख अनवर

+1, यदि कुछ नया टैब में कोई पेज खोलता है, तो यह तार्किक रूप से एक लिंक है, इसलिए <a>टैग उपयुक्त है। इसे एक बटन की तरह दिखने के लिए स्टाइल्स का इस्तेमाल किया जाना चाहिए।
कोस

21

आप जावास्क्रिप्ट का उपयोग करने के बारे में भूल सकते हैं क्योंकि ब्राउज़र नियंत्रित करता है कि यह एक नए टैब में खुलता है या नहीं। आपका सबसे अच्छा विकल्प इसके बजाय निम्नलिखित की तरह कुछ करना है:

<form action="http://www.yoursite.com/dosomething" method="get" target="_blank">
    <input name="dynamicParam1" type="text"/>
    <input name="dynamicParam2" type="text" />
    <input type="submit" value="submit" />
</form>

यह हमेशा एक नए टैब में खुलेगा, भले ही कोई भी ब्राउज़र target="_blank"विशेषता के कारण ग्राहक का उपयोग करे ।

यदि आप सभी की जरूरत है कोई गतिशील मापदंडों के साथ पुनर्निर्देशित करने के लिए आप target="_blank"विशेषता के साथ एक लिंक का उपयोग कर सकते हैं टिम टिम के रूप में पता चलता है।


1
आवश्यकतानुसार काम करता है (क्रोम, फ़ायरफ़ॉक्स, IE10 पर परीक्षण किया गया) :)
जीशान

10

का प्रयोग करें window.openबजाय window.locationएक नई विंडो या टैब (ब्राउज़र सेटिंग के आधार) खोलने के लिए।

आपका फिडल काम नहीं करता है क्योंकि buttonचयन करने के लिए कोई तत्व नहीं है । input[type=button]बटन को आज़माएँ या idउपयोग करें #buttonId


10

मेरे पसंदीदा तरीके से आपके मार्कअप में एम्बेडेड कोई जावास्क्रिप्ट का लाभ नहीं है:

सीएसएस

a {
  color: inherit;
  text-decoration: none;
}

एचटीएमएल

<a href="http://example.com" target="_blank"><input type="button" value="Link-button"></a>

खैर, मुझे लगता है कि मेरे पास एक नया पसंदीदा तरीका है।
हाल्टर

मुझे लगता है कि यह सवाल का सही जवाब देता है। +1 :)
प्रमेश बजराचार्य


1

मैंने फॉर्म टैग के तहत टारगेट = "_ रिक्त" का इस्तेमाल किया और इसने एफएफ और क्रोम के साथ ठीक काम किया जहां यह एक नए टैग में खुलता है लेकिन IE के साथ यह एक नई विंडो में खुलता है।


1
चाहे टैब या विंडो खुलती है, उपयोगकर्ता के ब्राउज़र विकल्पों द्वारा निर्धारित की जाती है। मैं IE के बारे में नहीं जानता, लेकिन अधिकांश ब्राउज़र में वेबपेज यह नहीं चुन सकता है कि लिंक टैब या विंडो में खुलता है, लेकिन उपयोगकर्ता इसे कॉन्फ़िगर कर सकता है।
joeytwiddle



-5

आप नहीं कर सकते। यह व्यवहार केवल प्लगइन्स के लिए उपलब्ध है और इसे केवल उपयोगकर्ता द्वारा कॉन्फ़िगर किया जा सकता है।


-5
<BUTTON NAME='my_button' VALUE=sequence_no TYPE='SUBMIT' style="background-color:transparent ; border:none; color:blue;" onclick="this.form.target='_blank';return true;"><u>open new page</u></BUTTON>

यह बटन URL की तरह दिखेगा और एक नए टैब में खोला जा सकता है।


आपको "फॉर्म" जोड़ने की जरूरत है
nerkn

एक लिंक की तरह व्यवहार करने के लिए एक बटन (शब्दार्थ रूप से बोलना) एक अच्छा विचार नहीं है। इसके बजाय, aटैग का उपयोग करें ।
हेनरिक स्क्रिनर

-6

इस कोड का उपयोग करें

function openBackWindow(url,popName){
        var popupWindow = window.open(url,popName,'scrollbars=1,height=650,width=1050');
          if($.browser.msie){
            popupWindow.blur();
            window.focus();
        }else{
           blurPopunder();
        }
      };

    function blurPopunder() {
            var winBlankPopup = window.open("about:blank");
            if (winBlankPopup) {
                winBlankPopup.focus();
                winBlankPopup.close()
            }
    };

आईटी मोज़िला, IE और क्रोम पर और 22 से कम संस्करण में ठीक काम करता है; लेकिन ओपेरा और सफारी में काम नहीं करता है।


2
यह सबसे अच्छा जवाब नहीं है! ठोस -1।
शौगो माकिशिमा

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