1. #1
    Avatar von Open Thought
    Registriert seit
    16.06.2014
    Beiträge
    177
    Thanked 120 Times in 63 Posts

    Standard 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>
    Da sagt er mir "$ not defined". Wenn ich jquery über dem alert Block lade geht es. Kann man dem Browser nicht sagen er soll erst alle Javascripts laden bevor er die script Blöcke ausführt? Oder muss ich das alles umschreiben?

  2. #2
    Gelöschter Benutzer
    Gast

    Standard 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);
    }

  3. The Following User Says Thank You to Gelöschter Benutzer For This Useful Post:

    Open Thought (05.07.2014)

  4. #3
    Avatar von Open Thought
    Registriert seit
    16.06.2014
    Beiträge
    177
    Thanked 120 Times in 63 Posts

    Standard 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?

  5. #4
    Gelöschter Benutzer
    Gast

    Standard 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>
    oder

    Code:
    window.onload = function()
    {
    $(function() {
    alert('jQuery ready');
    });
    };

  6. 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

  1. Führerschein erst dann, wenn ichs brauche machen?
    Von Mr.Bombastic im Forum Fahrzeuge
    Antworten: 55
    Letzter Beitrag: 09.06.2017, 14:40
  2. Antworten: 2
    Letzter Beitrag: 23.11.2013, 01:13
  3. Antworten: 1
    Letzter Beitrag: 23.04.2012, 22:59
  4. Frage Tan erst in einer Woche?
    Von reen im Forum Fragen & Probleme
    Antworten: 3
    Letzter Beitrag: 10.02.2012, 19:54
  5. [Shell Script]Upload Script (7z & ncftp)
    Von Sq252 im Forum Showroom
    Antworten: 0
    Letzter Beitrag: 08.01.2012, 18:12
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.