Externes Javascript per Ajax einfügen und ausführen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Externes Javascript per Ajax einfügen und ausführen

    Liebes Forum,

    ich möchte gerne ein externes Javascript in meine Seite einfügen, dass erst später geladen, wenn eine bestimmte Aktion ausgeführt wird. Ist so etwas möglich? Ich habe schon gegoogelt, habe aber keine passenden Lösungen gefunden.

    Folgende Problemstellung:
    Der User gibt etwas in ein Formular ein und je nachdem was er eingibt soll dass javascript geladen werden und der Inhalt an bestimmter Stelle eingefügt werden. Das javascript enthält dynamische Daten eines fremden Servers, deshalb kann es nicht sofort eingefügt werden.

    Es wäre sehr schön wenn es dafür eine Lösung gibt.

    Liebe Grüsse
    RON

  • #2
    PHP-Code:
    if (document.formularname.servername.value)
    {
       
    server document.formularname.servername.value 'script.js';
       
    document.write('<scr'+'ipt type="text/javascript" src="'+server+'"></scr'+'ipt>');

    so was?

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ja genau sowas in der Richtung.
      Ich habe das noch nicht ausprobiert... werde ich aber gleich machen

      Kommentar


      • #4
        Was macht noch mal document.write, wenn man es nach dem Fertigladen des Dokumentes aufruft ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          ja das habe ich gerade bemerkt..... :-(
          Gibt es noch eine andere Möglichkeit?

          Liebe Grüsse
          RON

          Kommentar


          • #6
            Schau mal bspw. hier: http://forum.de.selfhtml.org/archiv/...31082/#m847831
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hallo,

              so ich habe das jetzt mal ausprobiert. Leider geht es für meine Zwecke nicht. Ich möchte nämlich auf einen externen Server zugreifen, aber im FF kommt immer

              Fehler: uncaught exception: Die Erlaubnis für den Aufruf der Methode XMLHttpRequest.open wurde verweigert
              Aber es muss doch eine Möglichkeit geben, um zum Beispiel externe XML Dateien mit javascript zu öffnen.

              Weiss da jemand Bescheid?

              Liebe Grüsse
              RON

              Kommentar


              • #8
                Nein, auch AJAX hat sich an die Same Origin Policy zu halten.

                Wenn du an externe Daten ranwillst, bleibt dir nichts anderes übrig, als sie über deinen Server durchzuschleusen.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  So ich habe jetzt mal folgendes probiert:

                  EDIT:
                  function bindeSCRIPTeinMitDOM3() {
                  var myBody = document.body;
                  if (document.getElementById("mySCRIPT")) myBody.removeChild(document.getElementById("mySCRIPT"));
                  var mySCRIPT = document.createElement("SCRIPT");
                  mySCRIPT.type = "text/javascript";
                  mySCRIPT.id = "mySCRIPT";
                  mySCRIPT.src="http://www.externesscript.js";
                  myBody.appendChild(mySCRIPT);
                  //Wir setzen den Inhalt des SCRIPT-Elements erst, wenn es schon eingehangen ist, um den Opera auch noch zu ueberreden ;-)

                  alert(myBody.innerHTML);
                  }



                  So habe ich das jetzt mal probiert und im FF probiert, dort funktioniert es. Aber im IE7 leider nicht. Andere Browser muss ich noch ausprobieren.

                  Für weitere Tipps, dass es in allen Browsern funktioniert bin ich sehr dankbar.

                  Liebe Grüsse
                  RON

                  Kommentar


                  • #10
                    Moin,

                    Script-Tags haben im Body laut W3C nichts verloren und werden standardmäßig im Head definiert/deklariert. Folglich müsstest du dein Script anpassen, das einbinden des dynamisch erzeugten Tags könnte dann so aussehen.
                    Code:
                    .. 
                    var elScript = document.createElement('SCRIPT');
                    ..
                    var elHead = document.getElementByTagName('HEAD').item(0);
                    // deine überprüfung ob das script schon eingebunden ist, könnte an dieser Stelle stattfinden, wenn es noch nicht eingebunden wurde:
                    elHead.appendChild( elScript );
                    Laut meiner bisherigen Erfahrungen mit dem IE7 sollte dies kein Problem darstellen.

                    greetz
                    reallife

                    Kommentar


                    • #11
                      Original geschrieben von reallife
                      Script-Tags haben im Body laut W3C nichts verloren und werden standardmäßig im Head definiert/deklariert.
                      Irrtum, Script kann fast überall auftauchen.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X