Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Javascript zur Laufzeit nachladen und wieder entladen

Letzter Beitrag 09-27-2006 10:38 von Lukas Dorn. 2 Antworten.
Seite 1 von 1 (3 Treffer)
Beiträge sortieren: Zurück Weiter
  • 09-26-2006 16:40

    Javascript zur Laufzeit nachladen und wieder entladen

    kann man per Javascript einzelne Javascript-Dateien "nachladen" bzw. auch wieder - wenn nicht mehr benötigt "entladen"

     

    Gruß


    Rene

    • IP-Adresse ist Registriert
  • 09-26-2006 17:58 Antwort zu

    AW: Javascript zur Laufzeit nachladen und wieder entladen

    Mit diesem Script kannst du Javascript in in ein DIV element laden, und dann ausführen...

    Hoffe es hilft!

    mlg

    Lukas 

     

     

    /*

    Funktion zum Aufrufen einer HTML/XML Seite per Javascript.
    Bei Bedarf werden auch Javascript-Inhalte von der übertragenen Seite aus aufgerufen.

    Der Aufruf gestaltet sich wie folgt:

    <script language="javascript" type="text/javascript">
     getAXAH('http://www.xyz.com/testseite.html','hierHinein');
    </script>
    <div id="hierHinein"></div>

    Wenn die einzubindende Seite Javascript enthält, muss in diesem die Kommentare in der form /* Kommentar * / geschrieben werden,
    da durch die Eval Function alle Javascriptstatements als eine Zeile behandelt werden.

    ----------------------------------
    (C) 2006 by Lukas Dorn-Fussenegger

    */


    /* getAXAH('http://www.url.com', 'DivElementWosHineinsoll') */
    function getAXAH(url,elementContainer){

     /* Optionen festlegen */
     var showPlatzhalterWhileLoading = false;
     var execJavaScriptAfterTransfer = true;
     var changeStatusbar = false;
     
     /* Statuszeile anpassen. */
     if (changeStatusbar == true) { window.status = 'Ajax:' + url; }

     /* Anzeigen eines Blindtextes während des Ladevorganges, aber nur wenn noch kein Inhalt im Element vorhanden ist... */
     /* Diese Zeilen können bei bedarf entfernt werden */
     if (showPlatzhalterWhileLoading == true) {
      if (document.getElementById(elementContainer).innerHTML == '') {
       document.getElementById(elementContainer).innerHTML = "Lade von " + url + " ...";
      }
     }
     
     var theHttpRequest = getNewHttpObject();
     theHttpRequest.onreadystatechange = function() {processAXAH(elementContainer);};
     
     /* Überprüfen ob eine Zufallszahl hinzugefügt werden soll, um den Inhalt nicht zu cachen. */
     /* Das hinzufügen der Zufallszahl ist deswegen notwendig, da die Inhalte sonst im Browser gecached werden, und nicht neu geladen werden. */
     
     /* Überprüfen ob bereits Parameter bei der Abfrage verwendet werden oder nicht */
     if (url.indexOf('?') == -1) {
      /* Wenn keine Parameter vorhanden sind wird ein komplett neuer Parameter-Satz deklariert */
      url = url + '?RANDOM' + Math.floor(Math.random()*1024*1024) + "=" + Math.floor(Math.random()*1024*1024) + Math.floor(Math.random()*1024*1024);
     } else {
      /* Wenn bereits Parameter angegeben wurden, wird hinten noch ein weiterer angehängt */
      url = url + '&RANDOM' + Math.floor(Math.random()*1024*1024) + "=" + Math.floor(Math.random()*1024*1024) + Math.floor(Math.random()*1024*1024);
     }
     
     theHttpRequest.open("GET", url);
     theHttpRequest.send(false);
     
     function processAXAH(elementContainer){
      if (theHttpRequest.readyState == 4)
      {
       if (theHttpRequest.status == 200) {
        document.getElementById(elementContainer).innerHTML = theHttpRequest.responseText;
        /* Javascript ausführen wenn eines mitgesendet wurde */
        if (execJavaScriptAfterTransfer == true) { execJS(document.getElementById(elementContainer)); }
       }
       else
       { document.getElementById(elementContainer).innerHTML="Error! Fehler: " + theHttpRequest.statusText; } 
      } /* End If */
     } /* End Function */
     if (changeStatusbar == true) { window.status = ''; }
    }

    function getNewHttpObject() { var objType = false; try { objType = new ActiveXObject('Msxml2.XMLHTTP');}
     catch(e) {try { objType = new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) { objType = new XMLHttpRequest(); }}
     return objType; }

    function execJS(node) {
     /* Element auf Javascript überprüfen, und falls nötig ausführen */
     var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
     var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
     var bMoz = (navigator.appName == 'Netscape');
     var st = node.getElementsByTagName('script'); var strExec;
       
     for(var i=0;i<st.length; i++) { if (bSaf) { strExec = st[i].innerHTML; } else if (bOpera) { strExec = st[i].text; }
       else if (bMoz) { strExec = st[i].textContent; } else { strExec = st[i].text; } try { eval(strExec); } catch(e) { alert(e);}}}

    Wer Rechtschreibfehler findet, darf sie behalten.
    • IP-Adresse ist Registriert
  • 09-27-2006 10:38 Antwort zu

    AW: Javascript zur Laufzeit nachladen und wieder entladen

    Das Copyright entfällt natürlich!

    Wer Rechtschreibfehler findet, darf sie behalten.
    Abgelegt unter: ,
    • IP-Adresse ist Registriert
Seite 1 von 1 (3 Treffer)