2010-12-05 19 views
1

このコードで別のサイトからjavascriptスクリプトを読み込もうとしていますが、動作していません!jquery load script on click

$("#random").click(function(){ 
     $.getScript("http://www.themoviequotes.com/widgets/javascript?n=1&l=1&g=3"); 
    }); 

上記のスクリプトからコンテンツを読み込もうとしている「映画」というIDのdivがあります。

+0

を削除見えますが、URLは確かに正しいと思いますか?私はそれを直接タイプし、それは私に何かを返さなかったか? – kobe

+0

絶対に、これは現在のHTML:

\t \t \t \t \t \t \t
benhowdle89

+1

その[URL](http://www.themoviequotes.com/widgets/javascript?n=1 &l = 1 & g = 3)は空のページを返します。 – Lee

答えて

2

text/htmlモードでは、<script>要素は本質的にCDATAです。従って&amp;&amp;を意味し、&を意味しない。

<script>要素内にHTMLエンティティを使用しないでください。

(あなたがXHTMLを書いて、テキスト/ htmlとして、それを提供している場合は、embedded style sheets and scriptsのセクションのための特別な注意を払って、その後guidance on XHTML media types。)

あなたは&amp&を交換したので、あなたはURLからデータをフェッチしていますサーバーは認識しません。

しかし、あなたがそれを変更したとしても、それはまだ動作しません。何らかの理由でapplication/javascriptの代わりにtext/htmlとして処理されているスクリプトには、document.writeというステートメントが含まれています。これは、ドキュメントの末尾に書き込むため(ページのセクションを置換するためには役に立たない)、ドキュメントがまだ追加のために開いていれば、それ以外の場合は完全に置き換えられます。

jQuery.loadは、一部のコンテンツが(スクリプトではなく)要素に落ちることを期待しています。(わかっている限り)クロスドメイン機能はありません。適切なHTTPヘッダーを送信するサーバー)。 URLが間違っていた

$("#random").click(function(){ 
    $.getScript("http://www.themoviequotes.com/widgets/javascript?n=1&l=1&g=3"); 
}); 

+0

これは意味があります。getScriptを正しく使用していますか?load()を使用する必要があります。ユーザーが「ランダム」を押すたびに – benhowdle89

+0

@ben、getscriptは指定された場所からjavascriptを取得し、ヘッドセクション – kobe

+0

に追加します@benこの例を参照してくださいhttp://api.jquery.com/jQuery.getScript/ – kobe

0

はこれを使用してください。