मैं एक नए टैब का उपयोग करके एक नया पृष्ठ खोलने के लिए सफारी या IE7 को "मजबूर" करने की कोशिश कर रहा हूं ।
प्रोग्रामेटिक रूप से मेरा मतलब कुछ इस तरह है:
window.open('page.html','newtaborsomething');
मैं एक नए टैब का उपयोग करके एक नया पृष्ठ खोलने के लिए सफारी या IE7 को "मजबूर" करने की कोशिश कर रहा हूं ।
प्रोग्रामेटिक रूप से मेरा मतलब कुछ इस तरह है:
window.open('page.html','newtaborsomething');
जवाबों:
आप इसे सीधे नियंत्रित नहीं कर सकते, क्योंकि यह इंटरनेट एक्सप्लोरर उपयोगकर्ताओं द्वारा नियंत्रित एक विकल्प है।
यदि उपयोगकर्ता ऐसा करने के लिए ब्राउज़र को कॉन्फ़िगर करता है, तो एक अलग विंडो नाम के साथ खुलने वाले पृष्ठ। एक अलग विंडो नाम के साथ एक पॉप ब्राउज़र की तरह खुलेगा , या एक नए टैब में खुलेगा।
आप फ़ायरफ़ॉक्स में यह काम कर सकते हैं, एंकर को एक नया टैब खोलने के लिए मजबूर करने के लिए विशेषता लक्ष्य = "_ newtab" जोड़ें।
<a href="some url" target="_newtab">content of the anchor</a>
जावास्क्रिप्ट में आप उपयोग कर सकते हैं
window.open('page.html','_newtab');
कहा कि, मैं सैम के साथ आंशिक रूप से सहमत हूं। आपको उपयोगकर्ता को लिंक पर क्लिक करने से पहले क्या होने जा रहा है, इस पर संकेत दिए बिना नए पृष्ठ या नया टैब खोलने के लिए बाध्य नहीं करना चाहिए ।
मुझे बताएं कि क्या यह अन्य ब्राउज़र पर भी काम करता है (मेरे पास फिलहाल फ़ायरफ़ॉक्स की तुलना में अन्य ब्राउज़र पर इसे आज़माने का मौका नहीं है)।
संपादित करें: ie7 के लिए जोड़ा गया संदर्भ शायद यह लिंक उपयोगी हो सकता है
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
आप में से जो निम्नलिखित का उपयोग करने का प्रयास कर रहे हैं:
window.open('page.html', '_newtab');
वास्तव में window.open मेथड को देखना चाहिए।
आप जो कुछ भी कर रहे हैं वह ब्राउज़र को एक नई विंडो खोलने के लिए कह रहा है NAMED "_newtab" और उसमें पेज.html लोड करें। आपके द्वारा लोड किया गया हर नया पेज उस विंडो में लोड होगा। हालाँकि, यदि किसी उपयोगकर्ता के पास नए विंडो के बजाय नए टैब में नए पृष्ठ खोलने के लिए एक ब्राउज़र है, तो यह एक टैब खोलेगा। बावजूद, यह खिड़की या टैब के लिए एक ही नाम का उपयोग कर रहा है।
यदि आप चाहते हैं कि अलग-अलग पृष्ठ अलग-अलग विंडो या टैब में खुलें तो आपको नई विंडो / टैब का नाम कुछ इस तरह बदलना होगा:
window.open('page2.html', '_newtab2');
बेशक नई विंडो / टैब के लिए नाम _newabab2 के बजाय पेज 1, पेज 2, पेज 3 आदि किसी भी नाम हो सकता है।
यह उपयोगकर्ता पर निर्भर है कि वे नए टैब या नई विंडो का उपयोग करना चाहते हैं, यह इस व्यवहार को संशोधित करने के लिए डेवलपर का व्यवसाय नहीं है। मुझे नहीं लगता कि आप इसे कर सकते हैं।
पालतू जानवरों की खान - मुझे इससे नफरत है जब साइटें मुझे एक नई विंडो / टैब में खोलने के लिए मजबूर करती हैं - मैं खुद के लिए यह निर्णय लेने में काफी सक्षम हूं। विशेष रूप से जब वे इसे जावास्क्रिप्ट में करते हैं - जो वास्तव में अनपेक्षित है।
क्या आपने पहले जैसा प्रयास किया है
var open_link = window.open('','_blank');
open_link.location="somepage.html";
मुझे क्रोम में पता चला,
window.open('page.html','_newtab')
केवल एक बार काम करेंगे।
आप उपयोग कर सकते हैं:
window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));
कई नए टैब खोलने के लिए।
कोड मैं jQuery के साथ उपयोग करें:
$("a.btn_external").click(function() {
url_to_open = $(this).attr("href");
window.open(url_to_open, '_blank');
return false;
});
एक बच्चे में माता-पिता की क्लिक घटनाओं के बीच अंतर करने के लिए यह उपयोगी है। इस पद्धति का उपयोग करके, आप माता-पिता के क्लिक इवेंट को ट्रिगर नहीं करते हैं।
<a href="page.html" target="_blank">foo</a>
यह 100% काम करता है
window.open('http://www.google.com/','_newtab' + Date.now());
यदि आप चाहते थे कि आप इस विधि का उपयोग कर सकें, जो कि थोड़ा हैक्य है, लेकिन वांछित कार्यक्षमता प्रदान करेगा:
jQuery('<a/>', {
id: 'foo',
href: 'http://google.com',
title: 'Become a Googler',
rel: 'external',
text: 'Go to Google!',
target:'_blank',
style:'display:none;'
}).appendTo('#mySelector');
$('#foo').click()
यदि आप एक बैच फ़ाइल कह सकते हैं तो यह काम कर सकता है (मैं XP sp2 और IE8 के साथ php का उपयोग करता हूं ... आप IE7, डीनो की कोशिश कर सकते हैं)। विंडोज़ खोलने के लिए अपनी .bat फ़ाइल में निम्न (या समान) का उपयोग करें: "C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore" http://www.site.com "प्रारंभ करें।" उद्धरण चिह्न और C: \ Progr ... आदि के बीच कोई स्थान नहीं है। कुछ बिंदु पर, यह नए टैब के बजाय नई विंडो (यानी, लक्ष्य = "_ रिक्त") खोलना शुरू कर सकता है, लेकिन एक बिंदु तक काम करता है; बड़े पैमाने पर परीक्षण नहीं किया गया। एक नियमित बैच फ़ाइल (CMD.exe) में इसका उपयोग करने के लिए, आपको संभवतः एक खिड़की पहले से ही खोलनी होगी। बस कुछ साझा करने से मैं लड़खड़ा गया। स्पष्टीकरण के लिए उपयुक्त।
<a href="http://www.google.com/" target="_self">New Tab Example</a>
IE7 में काम करता है।
सादर,
ग्लेन