javascript - JS 打开窗口并更改用户代理

标签 javascript window user-agent

我对仅使用 IE 的 vendor 有疑问。我正在打开一个窗口并传递凭据。如果是 Chrome/FireFox/等,他们会阻止它。我能够成功更改用户代理以模仿 IE,但不能与打开窗口结合使用。

openWindow('https://www.IEOnlyVendor.com?credentials=abc123');
var __originalNavigator = navigator; // alter user agent string to IE 11
navigator = new Object();
navigator.__proto__ = __originalNavigator;
navigator.__defineGetter__('userAgent', function () { return 'Mozilla/5.0 (Windows NT 6.1;     WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; MDDR; MS-RTC LM 8; rv:11.0) like Gecko'; }); 

有人知道该怎么做吗?也许创建一个窗口,更改用户代理,然后打开该窗口。

最佳答案

也许可以尝试类似this answer的方法更改iframe的用户代理。

重要部分(我添加了 contentWindow 参数,以便您可以(?)在新窗口上调用):在将内容注入(inject)空窗口后调用此函数。

    var setUA = function(contentWindow) {
        if (Object.defineProperty) {
            Object.defineProperty(contentWindow.navigator, 'userAgent', {
                configurable: true,
                get: function () {
                    return 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5';
                }
            });
        } else if (Object.prototype.__defineGetter__) {
            contentWindow.navigator.__defineGetter__('userAgent', function () {
                return 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5';
            });
        } else {
            alert('browser not supported');
        }
    };

关于javascript - JS 打开窗口并更改用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23599176/

相关文章:

ios - Google 身份验证 - 用户代理在 WebView (Nylas api) 上给出错误

javascript - dimple.js:不按字母顺序排列 y 轴,而是按数据集中出现的顺序排列

javascript - ASP.net OnClientClick 有一个异步调用 - 如何仅在异步调用完成并成功时才继续进行服务器端 OnClick?

javascript - 如何使用 MVC 并在我的 Node 应用程序中包含文件

javascript - CSS 菜单居中

jQuery在一定窗口宽度以上触发函数

c++ - 如何在作为控制台启动的应用程序中创建窗口?

java - 猜猜客户端浏览器是什么

java - 当 JFrame.setType 设置为 Type.POPUP 时,JFrame 停止显示内容

asp.net-mvc - 是否有针对任何智能手机的用户代理检测代码?