2

ページが要求するたびに偽のデータを送信するために、ナビゲーター、画面などの JS オブジェクトを偽装する方法があるかどうか疑問に思っていました。

私は C# を使用して GeckoFx ブラウザーを含むアプリケーションを開発していますが、次のようなことをしたいと考えています: JS を含む Web ページを開いて、ユーザーに関する情報 (画面解像度、インストールしたプラグインなど) を取得するたびに) 、ブラウザは偽の情報を送信する必要があります(私の画面解像度は1024x768で、1440x900を送信したいなど)。

誰でもこの情報を手伝ってもらえますか?

ありがとう!

4

1 に答える 1

5

JS オブジェクトを置き換えることで、偽装することが可能です。目的の操作に必要な機能を台無しにしないように、非常に注意する必要があることは明らかです。いずれにしても、画面オブジェクトを置き換えて、必要な解像度を報告する方法の例を次に示します。

jsFiddle での動作: http://jsfiddle.net/jfriend00/bfAYe/

var oldScreen = screen;  // save old screen object just in case

var myScreen = {};       // create new screen object

// prefill with all properties of old object
for (var i in screen) {
    myScreen[i] = screen[i];
}
screen = myScreen;    // replace existing object with mine
screen.width = 1440;  // change properites on mine
screen.height = 900;

// verify that changed properties are in place
$("#container").html("width="+screen.width+", height="+screen.height);

// outputs width=1440, height=900

Opera と Chrome では動作するようですが、IE9、FF5、Safari では動作しません。ブラウザ間でこれを行うことはできないと思います。

于 2011-07-15T23:20:47.253 に答える