4

私の Web サイトでは、サーバー (nodejs) でレンダリングされる html をロードし、適切な位置 (ほとんどの場合、id コンテンツの div) に挿入します。

受信した html をクライアントに挿入して、含まれているスクリプト タグが実行されるようにするにはどうすればよいですか?

クライアント側でアンダースコアとハンドルバーを使用しています。しかし、もちろんvanillajsも可能です。

PS: これは-propertyjQuery.html()の設定との違いを示す例です:innerHTML

http://jsfiddle.net/waxolunist/VDYgU/3/

4

3 に答える 3

3

jQueryで

$('div#content').html(loaded_html);

それなし:

getElementById('content').innerHTML = loaded_html;

自分のやり方で行うことは可能ですが、(おそらく) サーバーで使用するのと同じテンプレートを使用して、json を送信し、ブラウザーでページをレンダリングすることをお勧めします。私は doT を使用しています。これは、すべての JavaScript ベースのテンプレート (EJS、アンダースコアなど) の中で最高であると考えています。

于 2013-05-08T17:55:28.277 に答える
0

文字のエスケープに問題があります。 を使用してくださいjshint。それ以外の場合は、次のように使用するのは非常に簡単です

var script1 = "content for jQuery";
var script2 = "content for javascript";

$(document).ready(function (){
    $('#content1').html(script1);
    document.getElementById('content2').innerHTML = script2;
})
于 2015-06-21T11:35:47.510 に答える
0

jQueryを活用してそれを行うことができます。ちょうど

$.load("#divname").load(url)

http://api.jquery.com/load/

于 2013-05-06T18:57:28.703 に答える