小编典典

在JavaScript中模拟用户代理?

javascript

我正在寻找一种以编程方式实时更改navigator.userAgent的方法。在尝试获得自动化javascript单元测试器的失败尝试中,我放弃了尝试尝试使用fireunit。立刻,我陷入了使用实际浏览器进行JavaScript测试的一堵墙。

具体来说,我需要更改navigator.userAgent以模拟数百个userAgent字符串,以确保对给定函数进行正确的检测和覆盖。navigator.userAgent是只读的,所以我似乎卡住了!如何模拟navigator.userAgent?用户代理切换器(插件)可以切换FF的用户代理,但是我可以在JavaScript中进行切换吗?


阅读 375

收藏
2020-05-01

共1个答案

小编典典

尝试:

navigator.__defineGetter__('userAgent', function(){
    return 'foo' // customized user agent
});

navigator.userAgent; // 'foo'

在FF2和FF3中进行了尝试。

2020-05-01