मुझे अपने जेएस तत्व (एचटीएमएल 5 बॉयलरप्लेट के अनुसार) के नीचे मेरा जेएस चिपकाने के लिए उपयोग किया जाता है, लेकिन TurboLinks के बाद, जो रेल 4 में on by default होगा, हर अनुरोध पर शरीर (और शीर्षक) को फिर से लोड करता है, क्या यह समझ में आता है अब से मेरे जेएस को सिर में डालने के लिए? क्या इस पर कोई सभ्य गाइड या सर्वोत्तम प्रथाएं हैं?रेल 4 + टर्बोलिंक्स: सिर में जेएस या शरीर के नीचे?
उत्तर
इसके अलावा precompiled application.js (संपत्ति पाइपलाइन के अनुसार) डिफ़ॉल्ट रूप से चालू और सिर पर है। तर्क यह है कि भले ही जेएस को शेष पृष्ठ से पहले लोड किया गया हो, क्योंकि जेएस हमेशा समान होता है, इसे बाद में दूसरे अनुरोध से कैश से लोड किया जाएगा, इसलिए इसके नीचे सेवा करने का कोई वास्तविक कारण नहीं है शरीर अब और
यदि आप टर्बोलिंक 5 का उपयोग कर रहे हैं, तो अब आप अपने शरीर के नीचे टर्बोलिंक डाल सकते हैं (और पृष्ठ को प्रस्तुत करने के लिए वेब देव सर्वोत्तम प्रथाओं का पालन करें)। यह एसईओ के साथ इतनी थोड़ी सी भी मदद करता है। बस अपने शरीर के निचले भाग पर अपनी स्क्रिप्ट जोड़ सकते हैं और अपने स्क्रिप्ट टैग को
data-turbolinks-eval="false"
जोड़ें। यह का मूल्यांकन प्रारंभिक पृष्ठ लोड के बाद टर्बोलिंक को रोकने से रोक देगा। यह इस प्रकार से javascript_include_tag
साथ किया जाता है है:
<%= javascript_include_tag 'application', 'data-turbolinks-eval' => 'false'%>
तो बस
$(document).on('turbolinks:load', function() { // code to be executed when use changes pages });
- 1. जावास्क्रिप्ट - सिर, शरीर या jQuery?
- 2. बाहरी जावास्क्रिप्ट - शरीर या सिर?
- 3. JQuery के बाद शरीर एएसपी नेट MVC 4
- 4. जेएस या jquery
- 5. क्या Google Analytics किसी HTML पृष्ठ के सिर या नीचे जाना चाहिए?
- 6. रेल में सत्र 4
- 7. एक्सटी जेएस 4 ux पैकेज
- 8. रेल 4
- 9. क्या Google Analytics को सिर में नहीं डालने का कोई कारण है और शरीर में नहीं?
- 10. रेल, साइट के नीचे धीमा gemfile में कई रत्न हैं?
- 11. रेल 3 संपत्तियां जोड़ने? शरीर = 1
- 12. पेशेवरों और विपक्ष क्या हैं: सिर में जावास्क्रिप्ट डालना और शरीर को बंद करने से पहले
- 13. underscore.js या बस सादे जेएस
- 14. एक्सकोड 4 सीएमडी + alt + ऊपर/नीचे रीपैपिंग
- 15. Git: चलती शाखा सिर
- 16. जेएस या क्वेरी
- 17. सीएसएस फ़ूटर बनाना या तो ब्राउज़र विंडो के नीचे या सामग्री के नीचे
- 18. नीचे
- 19. क्यों सिर
- 20. सिर स्थिति
- 21. वेग में ऊपर या नीचे गोलाकार
- 22. Doxygen में शरीर टिप्पणी
- 23. जेएस फॉर्म रेल के साथ त्रुटि संदेश प्रस्तुत करें
- 24. लूप के लिए नीचे या कमी स्केल?
- 25. कोई लपेटें (सिर) बनाम लोड
- 26. एक शाखा के सिर दिखाओ?
- 27. jQuery/जेएस, आईओएस 4 और $ (दस्तावेज़) .height() समस्याएं
- 28. अपूर्ण जवाब शरीर Rabl
- 29. रेल में जेएस/ईआरबी टेम्पलेट में जेएसओएन को संभालना 3
- 30. आरएसपीसी रेल के नीचे इतना धीमा क्यों है?
धन्यवाद का उपयोग करें, जो मेरे लिए काफी अच्छा है :) – stephenmurdoch
यह फ़ाइल कैश, लेकिन यह अभी भी प्रतीक्षा करने की आवश्यकता जेएस लोड करने के लिए (यदि पूरा पृष्ठ लोड हो गया है), है ना? क्या 'async' विशेषता Turbolinks द्वारा पुनः लोड किए बिना नीचे जोड़ने का लाभ प्रदान नहीं करेगी? – michelpm
सामान्य रेल स्पॉकेट-आधारित संपत्तियों के साथ, आपके पास एक संपीड़ित, छोटा जेएस होगा जो आमतौर पर ब्राउज़र के कैश में संग्रहीत होता है। लोड समय (जैसे "कोड लोड करें") वैसे भी कुल डाउनलोड का एक अंश है + प्रतीक्षा + जेएस के लिए लोड समय। किसी भी मामले में, टीएल बस पूरे पृष्ठ को पृष्ठभूमि में लोड करता है, फिर तत्वों (शीर्षक, शरीर आदि) लेता है और उन्हें वर्तमान पृष्ठ की बजाय अपने पृष्ठ में बदल देता है। यह एक साधारण व्यवहार है, जो अधिक गति में परिणाम हो सकता है या नहीं। असली दुनिया के उदाहरणों में, मैंने पाया कि स्पॉकेट्स पर्याप्त रूप से सिर में जावास्क्रिप्ट संकलित किए गए हैं। – rewritten