web-dev-qa-db-ja.com

HTMLまたはJavaScriptでカスタムuserAgentを設定する

これを行う方法はありますか? GETリクエストをWebサイトに送信しようとしていますが、UserAgentをカスタマイズしたいと思います。純粋なHTMLとJavaScriptでこれを行う方法はありますか?すべてローカルで実行してほしい。

11
user3528112

これは私のために働いています。

_Object.defineProperty(navigator, 'userAgent', {
    get: function () { return 'Mozilla/5.0 (Windows NT 6.2; WOW64; 
    rv:28.0) Gecko/20100101 Firefox/28.0)'; }
});
_

Object.prototype.__defineGetter__()が非推奨になったため、code4coffeeの回答の更新バージョンです: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter

9
Peter Rhodes

これはJavascriptでプログラムで行うことができます(この例ではFirefoxをモックアップしています)。

navigator.__defineGetter__('userAgent', function () {
    return "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)"
});
navigator.__defineGetter__('appName', function () {
    return "Netscape"
});

次に、コンソールで変更を表示できます(もちろん、Javascriptを介してこれらを確認できます)。

navigator.userAgent
navigator.appName

(Jasmineを使用して)機能するはずのテストの例を次に示します。

describe("isUserAgentInternetExplorer", function () {
    it("should return false for Firefox", function () {
        navigator.__defineGetter__('userAgent', function () {
            return "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)"
        });
        navigator.__defineGetter__('appName', function () {
            return "Netscape"
        });
        //your code here...
        expect(...your code here...).toEqual(false);
    });
});
4
code4coffee