1

jsonpのようなメソッドでhtmlコードを取得し、これをdiv要素に表示する必要があります。これは、画像、テキストなどの単純なhtmlで機能します。しかし、コードはJavaScriptタグをコンテンツにすることができ、これをdivに挿入する必要がありますが、javascriptは実行されません。例で再開します:

var div = document.getElementById('mydiv');

div.innerHTML = '<scipt type="text/javascript"> console.log('I run!'); </script>';

これも機能しません。プローブします:

var otherdiv = document.createElement('div');

otherdiv.innerHTML = '<scipt type="text/javascript"> console.log('I run!'); </script>';

div.appendChild(otherdiv);

しかし、うまくいきません。

JavaScript が実行されるコードを挿入するにはどうすればよいですか?

4

2 に答える 2

1

最も簡単な方法は、すべての JavaScript とevalそれを抽出することです。

次のような正規表現で JavaScript を抽出できます。

var match = html.match(new RegExp("<script[^>]*>(.+)</script>"));
console.log(match);

これは、JavaScript を実行する最適な方法とはほど遠いものであり、非常にエラーが発生しやすく、安全でない可能性があります。私はそれに反対することを強くお勧めします。

于 2012-04-27T18:45:15.220 に答える
0

LAB、yep/nope、またはFrame.jsなどのスクリプト ローダーを使用する必要があります。ブラウザーには組み込みの制限があります。スクリプトの読み込みは、ページにスクリプトを含めるためのベスト プラクティスです。

また、単一引用符をエスケープする必要があります。

console.log(\'I run!\');
于 2012-04-27T18:41:37.307 に答える