2010-12-29 15 views
1

Ich bin ein Anfänger bei JavaScript so tut mir leid, wenn dies eine Frage ist. Ich versuche, XmlHttpRequest zu verwenden, um eine HTML-Datei (Beispiel.html) mit einem JavaScript (wie einem RSS-Feed-Skript) in der aufgerufenen HTML-Datei aufzurufen. Alle Skripte in der aufgerufenen HTML-Datei (Beispiel.html) werden nicht geladen. Es wird jedoch jeden einfachen Text oder Hyperlinks in der aufgerufenen HTML-Datei laden. Ich habe sogar versucht, die aufgerufene Datei zu ändern. Zum Beispiel wechseln Sie "example.html" mit "rssfeeder.js", um zu sehen, ob es das JavaScript bei Bedarf lädt, aber das hat immer noch nicht funktioniert. Auch hier bin ich sehr neu in JavaScript. Bitte geben Sie Ihre Antworten an. Vielen Dank! Hier ist das Skript, das ich verwende:XmlHttpRequest - JavaScript in angeforderter HTML-Datei wird nicht geladen

  var receiveReq = getXmlHttpRequestObject();  
      function Example() { 
       if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { 
        receiveReq.open("GET", 'example.html', true); 
        receiveReq.onreadystatechange = handleExample; 
        receiveReq.send(null); 
       }    
     } 
      function handleExample() { 
       if (receiveReq.readyState == 4) { 
      document.getElementById('span_result').innerHTML = receiveReq.responseText; 
       } 
      } 
+0

Das hat nichts mit Java zu tun hat. Bitte beachten Sie [Was ist der Unterschied zwischen JavaScript und Java? ] (http://stackoverflow.com/questions/245062/whats-the-difference-between-javascript-and-java). –

Antwort

2

Der Browser wird nicht automatisch die Ergebnisse eines XHR-Ergebnisses ausführen. Wenn Sie wissen, dass Sie Javascript als Ergebnis bekommen und dass automatisch ausgeführt werden sollen versuchen, es als Skript Element, das statt:

document.body.appendChild(document.createElement('script')).src="example.js"; 

Wenn die Seite tatsächlich html mit einigen JavaScript-Funktionen innerhalb dann rufen Sie die Funktion von Namen ist nach Sie setzen die innerHTML.

Wenn die Skripte ohne Funktionen definiert anonyme Skriptblöcke sind, dann können Sie versuchen, wie etwas zu tun:

var myscripts = document.getElementById('span_result').getElementsByTagName('script'); 
for (var i in myscripts) { 
    eval(myscripts[i].innerHTML); 
} 
+0

Hinzufügen zu oben: Sie könnten anonyme selbstausführende Funktionen haben, um das Javascript richtig auszulösen? etwas wie: Funktion() {// blah blah} – Shrinath

Verwandte Themen