मेरी साइट पर मेरे पास एक jquery फ़ंक्शन है जो पृष्ठ लोड होने के तुरंत बाद किसी अन्य (सुरक्षित) सर्वर से डेटा पुनर्प्राप्त करता है। एक jsonp कॉल का उपयोग करते हुए मैं वर्तमान दस्तावेज़ तैयार घटना के बाद इस डेटा लोड:परीक्षण करें यदि jquery लोड किया गया है, तो दस्तावेज़ तैयार घटना का उपयोग न करें
<script type="text/javascript">
$(document).ready(function() {
$.getJSON(_secureHost + '/base/members/current.aspx?callback=?', function (data) {
initPage(data);
});
});
</script>
मैं ऊपर कॉल के बारे में क्या पसंद नहीं है, कि jsonp वास्तव में, दस्तावेज़ तैयार घटना से पहले exectued किया जा सकता है जिससे धीमा है पेज लोड तो अगर मैं पृष्ठ के अंदर jQuery (यानी स्क्रिप्ट टैग का उपयोग कर संदर्भित नहीं) शामिल हैं, उसके बाद निम्न कोड महान काम करता है और पृष्ठ लोड तेजी से:
<script type="text/javascript">
$.getJSON(_secureHost + '/base/members/current.aspx?callback=?', function (data) {
$(document).ready(function() {
initPage(data);
});
});
</script>
लेकिन हर पेज में jQuery सहित एक 23k भूमि के ऊपर जो मैं है से बचने के लिए पसंद है। मैं यह देखने के लिए कैसे परीक्षण कर सकता हूं कि jquery लोड हो गया है और jquery लोड होने पर केवल initPage() फ़ंक्शन को निष्कासित कर सकता है?
संपादित करें: अधिक सटीक होने के लिए मुझे jquery लोड होने पर बार-बार जांच की आवश्यकता है और फिर ईवेंट का पता लगाएं। एक टाइमर नौकरी समाधान हो सकता है ..
समाधान: मैंने एक प्रीइनेट बनाया है जो jquery जांच करता है। मेरा पेज लोडिंग तेज़ नहीं हो सकता :)। सबको धन्यवाद!
function preInit()
{
// wait until jquery is loeaded
if (!(typeof jQuery === 'function')) {
window.setTimeout(function() {
//console.log(count++);
preInit();
}, 10); // Try again every 10 ms..
return;
}
$.getJSON(_secureHost + '/base/members/current.aspx?callback=?',
function (data) {
$(document).ready(function() {
initPage(data);
});
});
}
thats लगभग यह। लेकिन मुझे नहीं पता कि वास्तव में jquery लोड करने में कितना समय लगेगा। जब तक jquery लोड नहीं हो जाता है तब तक मुझे उस चेक को दोहराना होगा। मैं एक समय बना सकता हूं जो हर 10 एमएमएस या उससे भी ज्यादा जांचता है .. लेकिन यह अच्छा नहीं लगता .. – AyKarsi
आह, क्या आपका मतलब है? मैंने सोचा कि तुम्हारा मतलब था कि अगर आप jQuery को लोड किया गया था तो आप परीक्षण करना चाहते थे। उस स्थिति में, मुझे पूरा यकीन है कि जब तक आप '
जब तक आप स्क्रिप्ट टैग डालते हैं जिसमें आपके स्क्रिप्ट टैग के ऊपर jQuery शामिल होता है जो आपके फ़ंक्शन को चलाता है तो उसे ठीक काम करना चाहिए।
तैयार समारोह के बजाय इस में अपनी स्क्रिप्ट रैपिंग मदद मिल सकती है:
स्रोत
2011-01-07 09:16:44 Olical
यह $ (दस्तावेज़) .ready (function() {}) जैसा ही है। बस एक शॉर्टेंड संस्करण। –
मैं इसे फ़ंक्शन चलाने के लिए उपयोग करता हूं क्योंकि jQuery के बिना दस्तावेज़ लोड शामिल है। मुझे नहीं पता था कि jQuery इस की कार्यक्षमता को बदलता है? – Olical
@ मैट यह '$ (फ़ंक्शन() {...}) होगा;' :) @ वोल्फ्य 87 यह कोड को समाहित करने का एक अच्छा तरीका है, लेकिन यह बहुत कुछ नहीं बदलता है। फिर फिर, मुझे नहीं लगता कि हमारे पोस्टर को बहुत सारे बदलाव की जरूरत है। –
आप जोड़ने या तो पूरा समारोह या ग्रिड पूरा समारोह लोड कर सकते हैं पता चला की तरह है जिसके नीचे आप jqgrid
पर कुछ आपरेशन करने के लिए मदद मिलेगीस्रोत
2011-01-07 09:21:37
हाय मुझे लगता है कि आप पहली बार जांच करनी चाहिए कि jQuery और विधि आप का उपयोग करने जा रहे हैं परिभाषित किया गया है या नहीं
स्रोत
2011-01-07 09:26:20 Hafiz
आप इस बारे में सुनिश्चित कर रहे हैं इससे पहले कि exectued किया जा सकता है ?! कृपया ध्यान दें कि आप अभी भी छवियों loading..etc
मुझे लगता है कि आप उपयोग करने की आवश्यकता हो सकता है:
Link
स्रोत
2011-01-07 09:27:20 ifaour
मैं वास्तव में जितनी जल्दी हो सके jsonp निष्पादित करना चाहता हूं। दस्तावेज तैयार करने का मतलब है, डोम हेरफेर के लिए तैयार है। जब तक मैं मैनिपुलेटिंग शुरू करने से पहले तैयार दस्तावेज़ का सम्मान करता हूं, मैं अच्छा हूं। – AyKarsi
मैं footable jQuery प्लगइन का उपयोग कर रहा था। यह मेरे लिए काम किया:
jQuery संस्करण - 1.9.1 footable संस्करण - 0.5
स्रोत
2014-01-20 14:23:02