我正在寻找一种以编程方式实时更改navigator.userAgent的方法。在尝试获得自动化javascript单元测试器的失败尝试中,我放弃了尝试尝试使用fireunit。立刻,我陷入了使用实际浏览器进行JavaScript测试的一堵墙。
具体来说,我需要更改navigator.userAgent以模拟数百个userAgent字符串,以确保对给定函数进行正确的检测和覆盖。navigator.userAgent是只读的,所以我似乎卡住了!如何模拟navigator.userAgent?用户代理切换器(插件)可以切换FF的用户代理,但是我可以在JavaScript中进行切换吗?
尝试:
navigator.__defineGetter__('userAgent', function(){ return 'foo' // customized user agent }); navigator.userAgent; // 'foo'
在FF2和FF3中进行了尝试。