चलाया है मेरे पास एक सीएमएस (स्क्वायरस्पेस) पर होस्ट किया गया एक फोटो गैलरी पृष्ठ है जिसमें इसकी कुछ स्क्रिप्ट हैं जो थंबनेल को असीमित रूप से लोड करती हैं।सभी के बाद एक jQuery फ़ंक्शन कैसे चलाएं और किसी भी अन्य जावास्क्रिप्ट ने
वास्तविक बड़े तथापि छवियों पहले से लोड कर रहे हैं नहीं है, इसलिए मैं इस तरह मिश्रण में अपने ही स्क्रिप्ट जोड़ने की बस ब्राउज़र की पृष्ठभूमि में कैश में उन बड़े चित्र लोड करने के लिए, का फैसला किया:
(function($) {
var cache = [];
// Arguments are image paths relative to the current page.
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
})(jQuery)
$(window).load(function(){
$.preLoadImages(
"/picture/1.jpg",
"/picture/2.jpg", //etc.
);
});
मैंने अपना कोड $ (विंडो) .load() में रखा क्योंकि यह एक पृष्ठभूमि स्क्रिप्ट है और यह आवश्यक नहीं है कि यह भी चलता है, यह प्रदर्शन में सुधार करने के लिए है।
हालांकि, मुझे लगता है कि यह स्क्रिप्ट किसी भी तरह से सीएमएस की अपनी थंबनेल प्रीलोडिंग स्क्रिप्ट को अवरुद्ध कर रही है।
क्या मैं सही हूँ? और सबसे महत्वपूर्ण बात यह है कि यह निर्देश देने का एक तरीका है कि पृष्ठ पर अन्य सभी स्क्रिप्ट चलाने के बाद ही मेरी स्क्रिप्ट चलती है?
चियर्स
धन्यवाद निक। यह समझ में आता है। हालांकि, मेरी स्क्रिप्ट किसी भी तरह थंबनेल प्रीलोडिंग को अवरुद्ध कर रही है ... मैं नहीं करता यह नहीं पता कि कैसे, लेकिन प्रभाव लगातार और महत्वपूर्ण है। क्या यह ब्राउज़र कनेक्शन की सीमाओं के साथ कुछ करने के लिए हो सकता है ...? – andy
@andy - यह हो सकता है, अगर वे एक ही डोमेन पर हैं, तो वास्तविक HTTP spec एक समय में 2 कनेक्शन प्रति डोमेन कहते हैं, जो आईई में पीई है ricicular obeys (दूसरों को पाइपलाइनिंग आसान आसान)। छवियों को एक अलग यूआरएल दे सकते हैं ?, उदाहरण के लिए 'http: //static.mydomain.com/Images/....', यह * अन्य * 'एन' कनेक्शन की संख्या की अनुमति देगा, क्योंकि यह इसे दूसरे डोमेन के रूप में मानता है उदाहरण के लिए 'www.' से। –
हे निक, अतिरिक्त स्निपेट के लिए धन्यवाद, मैंने वास्तव में तैयार() पहले कोशिश की, लेकिन ब्लॉक प्राप्त कर रहा था, इसलिए मैं हालांकि window.load() मदद करता हूं, लेकिन निश्चित रूप से थंबनेल को एसिंक लोड किया जा रहा है जो नहीं एक फर्क पड़ता है ... सही? हो सकता है कि मैं पूरी तरह से गलत हूं, मुझे लगता है कि यह एक ब्लॉक है क्योंकि थंबनेल केवल मेरी सभी छवियों को पृष्ठभूमि में लोड किया गया है – andy