Dies ist eine getestete Lösung in einem großen Volumen, die funktioniert.
zunächst einen Wettbewerb zwischen der Zielseite Ressourcen und den vorgespannten Mitteln für die Bandbreite vermeiden Sie die Last mit Javascript verzögern könnten:
var prevOnLoad=window.onload;
function onLoadPreloadComponents() {
if(prevOnLoad) {
try{
prevOnLoad();
}catch(err){
}
}
preloadSiteComponents();
}
window.onload=onLoadPreloadComponents;
Dies ist nicht die Art, wie ich dies, weil in meinem Anwendungsfall gelöst Ein Flash-Ereignis (mit der Flash-to-JS-Brücke) signalisiert, wann die Landung endlich geladen wurde. Aber der vorherige Code muss auch funktionieren. Wenn die Seite vom Browser ausgelöst wird, führt diese Funktion den vorherigen onLoad-Code und das Vorladen aus.
Ich lege eine leere Div-Maintainer, wo der Iframe geladen wird.
<div id="mainSiteComponentsContainer" style="display: none;">
</div>
Und der Funktionscode:
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) {
}
}
Wie könnten Sie die Link-URL zu iframe sehen, ist dynamisch, es ändert sich zwischen differents Versionen (verschiedene Einsätze) Plataform mit einem unerwünschten Browser-Cache zu vermeiden neue Bereitstellungen
Der HTML-Code, in dem iframe sein könnte wie folgt (zum Beispiel):
<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>
Hier finden Sie die Links zu den Komponenten sehen können, die ich vorab zu laden will. Schließlich wird der div cointainer den iframe haben. Nach dem Ereignis 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>
Sie konnten die Arbeitslösung here sehen.
Verwenden Sie Firebug, um die verzögerte Belastung dieser Komponenten zu sehen.
Das Problem mit diesem Ansatz ist, dass die Website das Laden bestimmter URLs wirklich verhindern kann. Auf diese Weise können Sie, sobald die Seite geladen ist, AJAX nicht mehr für diese URLs verwenden. – Konstantin