2017-03-25 13 views
1

私は、インラインコンテンツ(広告バナー)を追加する)(のdocument.writeで関数を呼び出す:ページ上ののdocument.write()のsetTimeout()内のすべてのページを上書き

<body> 
 
Page content start<br> 
 
    <script> 
 
    function postContent(){ 
 
     document.write('added content'); 
 
    } 
 
    postContent(); 
 
    </script> 
 
<br>Page content end 
 
</body>

私が得ました:

Page content start 
added content 
Page content end 

このコンテンツを遅延で追加したいのですが、setTimeout()内にdocument.write()がすべてのコンテンツを上書きします。 3S内

ページの

<body> 
 
Page content start<br> 
 
<script> 
 
    function postContent(){ 
 
     document.write('added content'); 
 
    } 
 
    setTimeout(function() { 
 
     postContent(); 
 
    }, 3000); 
 
</script> 
 
<br>Page content end 
 
</body>

は、私が得た:

added content 

はどうすれば遅延でのdocument.write()で関数を呼び出すことができますし、すべてのページを上書きしませんか?

注:私は広告バナーを挿入する機能にアクセスできません。

+0

あなたが 'にdocument.write()'自体を使用する必要がありますか? – DroidNoob

+0

insertAdjacentHtmlはどうですか? – funcoding

+0

HTMLドキュメントが完全に読み込まれた後にdocument.write()を使用すると、既存のHTMLがすべて削除されます。 – CaptainHere

答えて

0

ドキュメントがロードされた後にdocument.writeを実行すると、ドキュメント全体が上書きされます。だから、あなたは、特定の要素を選択し、その中に内側のHTMLテキストを追加する必要があります

document.getElementById("container").innerHTML="added content"; 
0

あなたはスパンを使用して、それがinnerHTMLを使用して行を書くことができます。

write()この関数は、文書と同じ時刻を読み込んでその間に行が追加されるため、初めて機能します。

2回目にドキュメントが再読み込みされ、すべてのhtmlが削除されます。

<body> 
 
Page content start<br> 
 
<span id="pid"></span> 
 
<script> 
 
    function postContent(){ 
 
     document.getElementById("pid").innerHTML='added content'; 
 
    } 
 
    setTimeout(function() { 
 
     postContent(); 
 
    }, 3000); 
 
</script> 
 
<br>Page content end 
 
</body>

関連する問題