JavaScriptの次のビットが与えられたら、ページのレンダリングのどの時点でこれが実行されますか?合成javascript要素はいつ実行されますか?
これを試してみると、type属性が設定されるとすぐにscriptタグが実行されることが示唆されています。これは事実ですか?または、ページ全体がダウンロードされレンダリングされた後に実行されますか?
DOMのどこでN fallが宣言されましたか?最初、途中か終わり?
N = document.createElement('script');
N.setAttribute('src', 'http://localhost/traffic.php' +
'?_Cookie=' + escape(document.cookie) +
'&_Referrer=' + escape(document.referrer) +
'&_Href=' + escape(window.location.href));
N.setAttribute('type', 'text/javascript');
追加情報
オリジナルのスクリプトは、最後に先頭の
_Noose = document.getElementById('Noose');
と
O = _Noose.parentNode.replaceChild(N, _Noose);
を持っていました。
このスクリプトを実行するHTMLページにIDが "Noose"の要素がない場合、_Nooseはnullに評価されます。スクリプトは失敗するか、成功するでしょうか?それは成功しているようです。
これは私が考えていたものです。しかしそれはそうではないようです。ドキュメントのcreateElementメソッドを使ってDOMに追加していませんか? – bugmagnet
いいえ、createElementは単にノードを作成します。それはどこにでも置かない。 about:blankに行き、ノードを作成してみてください。何も起こりません。次に、同じページで 'document.body.appendChild(node);'を実行します。 –