0

以下のように、index.html の body タグに script タグを直接追加すると、次のようになります。

<script type="text/javascript" src='**doc_write_in_it.js**'></script>

「test doc write」がそこに出力されます。

しかし、以下のように別の方法で書くと:

<script type="text/javascript">
    var model = document.createElement('script');
    model.setAttribute('type','text/javascript');
    model.setAttribute('src','doc_write_in_it.js');
    var bd = document.getElementsByTagName('body')[0];
    bd.appendChild(model);
</script>   

appendChild で追加された Javascript ファイル内で document.write が無効になる。

doc_write_in_it.jsのアラートは表示されますが、document.write のテキストは表示されません。

doc_write_in_it.jsファイルは次のようになります。

alert('activited');
document.write('test doc write");

誰かが助けてくれることを願っています...どうもありがとう...

4

3 に答える 3

0

document.write はそれ以前のものを上書きします。ですから、それがあなたがやりたいことであると絶対に確信しているなら。次に、おそらくページが読み込まれるのを待ってから、document.write を起動する必要があります。以下の行の何か..

<script>
function my_onload_fn() {
    document.write("test document write");
}
</script>

<body onload="my_onload_fn();">
于 2013-08-16T06:24:12.743 に答える
0

実際にdocument.writeは、ページのロード時に影響を与えることはできませんが、呼び出しdocument.open()て可能にすることはできます。

タグにスクリプト コードを配置するscriptことは同期的ですが、DOM 操作を介してスクリプト ファイルをロードすることは非同期であるため、単純なページの場合、document.write(..)実行時にページがロードされ、呼び出されdocument.write(...)ない場合は何も行わない可能性があります。document.open()

alert('activited');
document.open();
document.write('test doc write');
document.close();

これは機能します。詳細については、このリンクを確認してください。

于 2013-08-16T06:56:18.623 に答える