2012-08-25 9 views
5

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

मैं इस स्क्रिप्ट को बाहरी tagline.js पर ले जाने की कोशिश कर रहा हूं, लेकिन अब तक मैं असफल रहा हूं।

यहाँ बुनियादी टैगलाइन पैदा स्क्रिप्ट है, मामले में इस के कारण कोड में कुछ (जो मुझे शक है, ईमानदारी से, अपनी सादगी की वजह से है, लेकिन यह हमेशा एक संभावना है):

 
var tags = [ 'tag1', 'tag2', 'tag3' ];

function getTag() { 
    return tags[Math.floor(Math.random() * tags.length)]; 
} 

$(document).ready(function() { 
    $("#tagline").text(getTag()); 
}); 

जैसा कि मैंने कहा, यह आंतरिक होने पर ठीक काम करता है, लेकिन जब मैं बाहरी से जोड़ने का प्रयास नहीं करता हूं। मुझे पूरा यकीन है कि यह सिर्फ एक मामला है जहां मैं <script> को इंगित कर रहा हूं: <script> वाली HTML फ़ाइल _layouts/default.html में है, लेकिन स्क्रिप्ट scripts/tagline.js में है।

संपादित करें: क्षमा करें, मैं वास्तव में "<script>" का अर्थ "<link>" का उपयोग कर रहा था। तो यह समाधान "आप गलत टैग का उपयोग कर रहे हैं" समाधान को समाप्त करता है! : पी

EDIT2: पूर्ण <script> (फिर से, _layouts/default.html में एक HTML फ़ाइल में स्थित है) यह है: <script type="text/javascript" href="../scripts/tagline.js"></script>

उत्तर

4

विशेषता आप एक स्क्रिप्ट कॉल के लिए उपयोग करना चाहते हैं src बजाय href है। उदाहरण के लिए:

<script type="text/javascript" src="../scripts/tagline.js"></script> 

इसके अलावा, मैं अत्यधिक साइट रूट (उर्फ docroot) के बजाय फाइल करने के लिए रिश्तेदार से रास्तों का उपयोग कर की सिफारिश करेंगे। इस तरह आप एक ही कॉल को कई स्थानों पर उपयोग कर सकते हैं और यह हमेशा सही स्थान पर आ जाएगा। एक डॉक्रोट रिश्तेदार यूआरएल का उपयोग करने के लिए, आप / के साथ पथ शुरू करते हैं।

मान लें कि आप कर रहे हैं स्क्रिप्ट http://example.com/scripts/tagline.js पर स्थित है, कॉल आप बनाना होगा है:

<script type="text/javascript" src="/scripts/tagline.js"></script> 

docroot का उपयोग कर के बिना, आप लगातार जहां HTML फ़ाइल स्क्रिप्ट बुला के आधार पर पथ को समायोजित करना होगा पेड़ में स्थित है। यदि सभी फाइलें एक ही स्थान पर हैं, तो यह एक बड़ा सौदा नहीं है, लेकिन सड़क के नीचे मुद्दों से बचने के लिए यह एक अच्छी आदत है।

+0

Derp, धन्यवाद! मुझे पता था कि यह कुछ ऐसा था जो मैं एचटीएमएल में गलत कर रहा था। – ChaoticWeg

+0

हर किसी ने एक ही या एक समान चीज़ को एक अरब बार किया है। कभी-कभी यह सिर्फ आंखों की एक और जोड़ी लेता है। खुशी है कि आप इसे जा रहे हैं। –

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