2012-02-15 11 views
1

私は、閉じたbodyタグの直前に外部javascriptを挿入するブックマークレットを作成しました。document.writeは動的にロードされたjavascriptでは機能しません

document.write(""); 
alert("hello"); 

警告作品:

注入されたスクリプトは、2つの行を含んでいます。 document.writeは効果がありません。

何がありますか?これによりページはクリアされますが、ページは変更されません。

+1

を呼び出します。 – Headshota

+0

コンソールで同じコマンドを実行すると、ドキュメント全体が空の文字列で上書きされ、ページが消去されます。 – ckarbass

+1

@ckarbass:ページが読み込まれた後、 'document.write'はページを消去してから文字列を書き込みます。 –

答えて

1

文書全体を空の文字列で上書きする必要がある場合。あなたはwindow.onloadハンドラでdocument.writeを呼び出す必要があります:

window.onload = function(){ 
    document.write(""); 
} 

ページはdocument.writeをレンダリングしているだけで、それが呼び出された文字列を出力しますが、ページのロード後には、文字列を含む文書を置き換えます。

か、それは何の効果もありませんので、あなたは、あなたの例では、空の文字列を書いているdocument.body.innerHTML = '';

+1

彼はページロード後に実行されるブックマークレットを作っているので、これはうまくいきません。 –

+0

ページが既に読み込まれています。 – ckarbass

+0

call document.body.innerHTML = '';代わりに – Headshota

関連する問題