ホームページ  >  記事  >  ウェブフロントエンド  >  JQueryのhtml(データ)メソッドと<script>スクリプトblock_jqueryの解決策

JQueryのhtml(データ)メソッドと<script>スクリプトblock_jqueryの解決策

WBOY
WBOYオリジナル
2016-05-16 18:32:43824ブラウズ

「今日、jQuery(...).html() メソッドによって返される HTML がすべての <script> ブロックを除外することに気づきましたが、場合によっては、特に AJAX アプリケーションでは、<script> を保持する必要があることがよくあります。 HTML のブロック (スクリプトを含むコンテンツの部分的な更新など) は、HTML の読み書きに html() を使用しないでください。今日はこの問題のせいで 1 時間を無駄にしました。 <br><br> テストの結果、新しいバージョンの jQuery(...).html() メソッドが判明しました (1.3.2 以降、以前のバージョンはテストされていません)。この問題は発生しなくなりましたが(html() メソッドは Dom 要素のデータを読み取る操作です)、HTML (data) メソッドを使用して Dom 要素にデータを書き込む場合、data パラメーターにスクリプトが含まれる場合、別の異常な現象が発生します。発生: Firefox (私は 3.6 を使用) ブラウザーで上記の操作を実行すると、データ パラメーターのスクリプトが自動的に実行され、ページの破損、例外、その他のエラーが発生します。たとえば、私が遭遇した問題は次のとおりです。ドキュメントがある場合。スクリプト内の .write メソッドで、html (データ) 操作が完了すると、ページ全体の元のページが表示されます。一部の DOM 要素が消え、document.write() メソッドの実行結果だけが残り、ページが壊れます。最終的に、この問題は elem.innerHTML=data を使用することで解決されました。</script>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。