2010-12-29 10 views
1

私はJavaScriptの初心者ですので、これが問題の場合はごめんなさい。 XmlHttpRequestを使用して、呼び出されたHTMLファイル内のJavaScript(RSSフィードスクリプトなど)を使用してHTMLファイル(example.html)を呼び出そうとしています。呼び出されたHTMLファイル(example.html)内のスクリプトはロードされません。それは、しかし、呼び出されたHTMLファイル内の任意のプレーンテキストまたはハイパーリンクを読み込みます。私も呼び出されたファイルを変更しようとしました。たとえば、 "rssfeeder.js"で "example.html"を切り替えて、オンデマンドでJavaScriptをロードするかどうかを確認しますが、それでも動作しません。繰り返しますが、私はJavaScriptで非常に新しいので、あなたの答えを詳述してください。ありがとう!私が使用しているスクリプトは次のとおりです。XmlHttpRequest - 要求されたHTMLファイル内のJavaScriptはロードされません

  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

これは、Javaとは何の関係もありません。 [JavaScriptとJavaの違いは何ですか? ](http://stackoverflow.com/questions/245062/whats-the-difference-between-javascript-and-java) –

答えて

2

ブラウザはXHR結果の結果を自動的に実行しません。ページが実際にHTMLの後に名前の関数を呼び出し、その後内のいくつかのjavascript機能を持つ場合には

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

:あなたは、結果としてJavaScriptを取得している知っているし、それが自動的に実行したい場合は代わりにscript要素としてそれを含めてみてくださいinnerHTMLを設定します。

スクリプトは、あなたのような何かをしようとすることができます定義された任意の関数なしで匿名のスクリプトブロックされている場合:

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

上記に追加:匿名の自己実行機能を使用して、javascriptを正しく起動できますか?次のようなものです:function(){// blah blah} – Shrinath

関連する問題