これを行う方法はありますか? GETリクエストをWebサイトに送信しようとしていますが、UserAgentをカスタマイズしたいと思います。純粋なHTMLとJavaScriptでこれを行う方法はありますか?すべてローカルで実行してほしい。
これは私のために働いています。
_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
これは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);
});
});