2011-11-10 10 views
20

मेरे पास एक HTML पृष्ठ है।एक दूरस्थ जावास्क्रिप्ट फ़ाइल को सशर्त रूप से कैसे शामिल करें?

उस में, ब्राउज़र के अनुसार, मुझे एक अलग जावास्क्रिप्ट फ़ाइल शामिल करने की आवश्यकता है।

यह कैसे संभव है?

<script type="text/javascript"> 
if(navigator.appName == 'Microsoft Internet Explorer') 
{ 
//here i need to include one.js 
} 
else 
{ 
//here i need to include two.js 
} 

</script> 
+1

संभावित डुप्लिकेट [जावास्क्रिप्ट फ़ाइल के अंदर जावास्क्रिप्ट फ़ाइल शामिल करें?] (Http://stackoverflow.com/questions/950087/include-javascript-file-inside-javascript-file) –

उत्तर

18

और अंत में, यदि आप पहले से ही अपनी परियोजना में JQuery का उपयोग कर रहे हैं और बस इसके लिए टैग बाहर छोड़ दिया, आप $.getScript

+0

धन्यवाद, यह – Linto

6

conditional comments आप केवल IE में कुछ HTML का उपयोग करते हैं।

<!--[if IE]> 
<script src='iescript.js'></script> 
<![endif]--> 
+0

टिप्पणी के लिए धन्यवाद, क्या आप समझा सकते हैं विवरण – Linto

+0

मुझे लगता है कि वाक्यविन्यास इस तरह होगा: '' ' गैर-यानी-स्क्रिप्ट ' (http://msdn.microsoft.com/en-us/library/ms537512(v=vs देखें। 85) .aspx) –

+0

अतिरिक्त कोड – TJHeuvel

12

यहाँ एक तरह से संभवतः सबसे अच्छा नहीं है,।

<script type="text/javascript"> 
if(navigator.appName == 'Microsoft Internet Explorer') 
{ 
    document.write("<script tag here>"); 
} 
else 
{ 
    document.write("<other script tag here>"); 
} 

+1

मुझे इस तरह से सबसे अच्छा पसंद है क्योंकि यह अन्य '

0

आप सशर्त टिप्पणियों का उपयोग कर सकते हैं के रूप में इस्तेमाल कर सकते हैं, उदाहरण के लिए http://jagregory.com/writings/using-ies-conditional-comments-for-targeted-javascript/

पर रेखांकित करता है, तो आप आईई संस्करण 7 और नीचे लक्षित करना चाहता था:

<!--[if lt IE 7]> 
<script type="text/javascript" src="/js/one.js"></script> 
<![endif]--> 
1
<script type="text/javascript"> 
var src = navigator.appName == "Microsoft Internet Explorer" ? "one.js" : "two.js"; 

var script = document.createElement("script"); 
regScript.setAttribute("src", src); 
document.getElementsByTagName("head")[0].appendChild(script); 
</script> 
बेशक

उपयोग कर सकते हैं, आप भी करने के लिए ऊपर त्रिगुट ऑपरेटर विभाजित किया जा सकता आपकी पसंद ..

+0

काम करता है क्यों 5 वीं लाइन में 'regScript'? – vladkras

0

मैं आपको LAB.js या YepNope (स्क्रिप्ट लोडर) का उपयोग करने की सलाह देता हूं। दोनों बाहरी स्क्रिप्ट को सबसे अच्छा तरीका संभव लोड करने पर बहुत मेहनत करते हैं।

एक उदाहरण के लिए, YepNope का उपयोग कर, दो सशर्त लोड के साथ:

var agent = navigator.userAgent; 
yepnope({ 
    test : /(msie) ([\w.]+)/.test(agent), // internet explorer 
    yep : 'ie.js', 
    nope : 'other-script-if-you-want.js' 
}); 
yepnope({ 
    test : /(mozilla)(?:.*? rv:([\w.]+))?/.test(agent), // firefox 
    yep : 'firefox.js' 
}); 
0
<script type="text/javascript"> 
    if(condition===true){ 
    document.write(unescape(
     '%3Cscript src="file1.js"%3E%3C/script%3E'+ 
     '%3Cscript src="file2.js"%3E%3C/script%3E' 
    )); 
    } 
</script> 

सरल और आसान। जेएस फ़ाइल प्रति 1 लाइन।

संबंधित मुद्दे