यह एक उच्च मात्रा वाली साइट पर एक परीक्षण समाधान है जो काम करता है।
सबसे पहले लैंडिंग पृष्ठ संसाधनों और पहले से लोड संसाधनों के बीच एक प्रतियोगिता बैंडविड्थ के लिए आप जावास्क्रिप्ट के साथ लोड में देरी कर सकता से बचने के लिए:
var prevOnLoad=window.onload;
function onLoadPreloadComponents() {
if(prevOnLoad) {
try{
prevOnLoad();
}catch(err){
}
}
preloadSiteComponents();
}
window.onload=onLoadPreloadComponents;
इस तरह से मैं क्योंकि मेरे उपयोग के मामले में यह हल नहीं किया है लैंडिंग अंततः लोड होने पर एक फ्लैश इवेंट (फ्लैश से जेएस ब्रिगेड का उपयोग करके) संकेत करता है। लेकिन पिछले कोड को भी काम करना चाहिए। जब लोड पेज ईवेंट ब्राउज़र द्वारा निकाल दिया जाता है तो यह फ़ंक्शन पिछले ऑनलोड कोड और प्रीलोडिंग निष्पादित करेगा।
मैंने एक खाली div cointainer डाला जहां iframe लोड किया जाएगा।
<div id="mainSiteComponentsContainer" style="display: none;">
</div>
और समारोह कोड है:
function preloadSiteComponents() {
try{
document.getElementById('mainSiteComponentsContainer')
.innerHTML=
"<iframe src=\"http://www-components.renxo-cdn.net/preload-site-components-data-url-scheme-version-1.2.84-css-1.0.53.html\" frameborder=\"no\" height=\"0px\" width=\"0px\"></iframe>";
}catch(err) {
}
}
आप देख सकते हैं के रूप में, आइफ्रेम के लिए लिंक यूआरएल गतिशील है, यह परिवर्तन विभिन्न बीच संस्करणों (अलग परिनियोजन) plataform एक साथ अवांछित ब्राउज़र कैश से बचने के लिए नई तैनाती
<html class=" gecko win js" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="noindex,nofollow" name="robots">
<script src="http://www-components.renxo-cdn.net/scripts/lib-1.2.84.js" type="text/javascript">
<link href="http://www-components.renxo-cdn.net/styles/skin-data-url-scheme-1.0.53.css" media="all" type="text/css" rel="stylesheet">
</head>
<body> </body>
</html>
यहाँ आप घटक है कि मैं पहले से लोड करना चाहते हैं के लिए लिंक देख सकते हैं:
एचटीएमएल कि iframe में हो जाएगा (उदाहरण के लिए) कुछ इस तरह हो सकता है। अंत में, div cointainer iframe होगा। onLoad द्वारा स्थापित करने के बाद:
<div id="mainSiteComponentsContainer" style="display: none;">
<iframe width="0px" height="0px" frameborder="no" src="http://www-components.renxo-cdn.net/preload-site-components-data-url-scheme-version-1.2.84-css-1.0.53.html">
<html class=" gecko win js" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="noindex,nofollow" name="robots">
<script src="http://www-components.renxo-cdn.net/scripts/lib-1.2.84.js" type="text/javascript">
<link href="http://www-components.renxo-cdn.net/styles/skin-data-url-scheme-1.0.53.css" media="all" type="text/css" rel="stylesheet">
</head>
<body> </body>
</html>
</iframe>
</div>
आप काम कर रहे समाधान here देख सकता था।
इस घटकों के देरी लोड को देखने के लिए फ़ायरबग का उपयोग करें।
इस दृष्टिकोण के साथ समस्या यह है कि साइट वास्तव में कुछ यूआरएल से लोडिंग को रोक सकती है। इस तरह, जैसे ही पृष्ठ लोड हो जाता है आप AJAX का उपयोग उन यूआरएल में नहीं कर सकते हैं। – Konstantin