2

labjsを使用してスクリプトをロードしています。ブログの最新の投稿をRSSフィードのHTMLで表示するfeedburnerのスクリプトを入手しました。feedburnerのコードは正常に機能し、すべての投稿をhtmlで表示します。

<script src="http://feeds.feedburner.com/Goonerhood?format=sigpro" type="text/javascript" ></script>

labjsを使用して同じスクリプトを読み込もうとしていますが、何も表示されません。これが私のコードです:

<script>
   $LAB
   .script("http://feeds.feedburner.com/Goonerhood?format=sigpro");
</script>

私が間違っているところに何か提案はありますか?

4

1 に答える 1

3

問題は、そのスクリプトがすべてdocument.write.

このdocument.write関数は、<script>次の 2 つの理由から、タグを使用してスクリプトをインポートするときに使用できます。

  1. ブラウザは、スクリプトが利用可能になるとすぐに (つまり、サーバーがスクリプトをクライアントに返すと) スクリプトを実行し、スクリプトが完了するまで他のすべてのアクティビティをブロックします。
  2. (1)のようなことが起こった時点ではDOMはまだ完成していないので、呼び出しdocument.writeは進行中のDOMにコンテンツを追加します。

スクリプトを非同期的にロードすると、スクリプトは DOM が完了するまで実行されません。その時点で、 への呼び出しがdocument.write暗黙的に を呼び出しますdocument.open。これは、既に構築されたページですべてを吹き飛ばします。

于 2011-03-06T17:31:52.407 に答える