Open Thought (05.07.2014)
Thema: Script erst am Ende laden?
-
05.07.2014, 17:16 #1
Script erst am Ende laden?
Hi,
ich möchte diese riesen Javascript Files in meiner Seite aus Performancegründen erst am Ende laden.
Es gibt aber ein Problem: Ich habe <script> Blöcke die vorher drin sind und die dadurch nicht mehr funktionieren.
Um zu zeigen was ich meine ein kleines Beispiel:
HTML-Code:<script type="text/javascript"> $(function(){ alert("Test"); }); </script> <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
-
05.07.2014, 17:39 #2Gelöschter BenutzerGast
AW: Script erst am Ende laden?
Zwei Möglichkeiten:
1. du lädst erst jQuery und führst dann dein JS-Code aus (pack es einfach vor </body>)
2. du nutzt "normales" JS und injectest deine JS-Dateien in den dom, sobald das Dokument fertig geladen ist.
Code:window.onload = function () { loadJS('jquery.js'); loadJS('app.js'); //hier wäre dein alert('test'); drin }; function loadJS(file) { var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', file); document.getElementsByTagName('head')[0].appendChild(script); }
-
The Following User Says Thank You to Gelöschter Benutzer For This Useful Post:
-
05.07.2014, 17:47 #3
AW: Script erst am Ende laden?
Naja also das Javascript im HTML (weiß nicht wie man das nennt, ich meine damit einen <script> tag wo nicht die .js Datei angegeben wird sondern direkt der Javascript Code drin steht, so wie bei meinem alert Beispiel oben) ist nur das was nötig ist drin also da werden eigentlich nur Variablen zugewiesen wie
var titel = "<?php echo $titel; ?>";
Das in eine extra Datei zu machen wäre also etwas blöd.
Es führt also kein Weg daran vorbei dass ich das Javascript im HTML auch nach unten lege nach jQuery?
-
05.07.2014, 17:57 #4Gelöschter BenutzerGast
AW: Script erst am Ende laden?
Klar geht das, aber du optimierst an der falschen Stelle.
Code:<script type="text/javascript"> var timer = setInterval(function () { if(typeof($) != 'undefined') { //jQuery ist geladen $(function(){ alert("Test"); }); clearInterval(timer); } }, 100); </script> <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
Code:window.onload = function() { $(function() { alert('jQuery ready'); }); };
-
The Following 2 Users Say Thank You to Gelöschter Benutzer For This Useful Post:
Open Thought (05.07.2014), The Dope Show (09.07.2014)
Ähnliche Themen
-
Führerschein erst dann, wenn ichs brauche machen?
Von Mr.Bombastic im Forum FahrzeugeAntworten: 55Letzter Beitrag: 09.06.2017, 14:40 -
JButton erst nach Sekunden wieder true setzten
Von Pyromane im Forum JavaAntworten: 2Letzter Beitrag: 23.11.2013, 01:13 -
Sockets: send wird erst zu Programmende ausgeführt
Von uncopyable im Forum JavaAntworten: 1Letzter Beitrag: 23.04.2012, 22:59 -
Frage Tan erst in einer Woche?
Von reen im Forum Fragen & ProblemeAntworten: 3Letzter Beitrag: 10.02.2012, 19:54 -
[Shell Script]Upload Script (7z & ncftp)
Von Sq252 im Forum ShowroomAntworten: 0Letzter Beitrag: 08.01.2012, 18:12
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.