我知道这种情况经常发生变化,但是有一个列表尽可能详尽无遗地返回了可能的值navigator.platform吗?
到目前为止列表:
我正在寻找一种方法来检测下载页面的操作系统,使用jQuery或Javascript来推荐Mac与Windows的特定文件.我希望在不向我的页面添加其他插件的情况下这样做.
我正在尝试浏览一个网站,但是,它只适用于Windows和Mac,因为它们使用navigator.platformJavaScript来查找我正在运行的体系结构.当然,他们也使用浏览器的用户代理,但这很容易欺骗.
这是有问题的.js:http://pastebin.com/f56fd608d.负责浏览器检测的代码位于顶部.有没有办法在网站运行之前更改.js文件,或类似的东西,所以我可以取消支票?
使用JavaScript控制台产生:
>navigator.platform
Linux i686
显然,我更改了浏览器的用户代理,但navigator.platform似乎没有从用户代理获取它的值.
也许有人知道如何更改返回的值navigator.platform,因为我讨厌在VirtualBox下运行Windows来使用此站点.
编辑:这可能是有趣的,因为Linux用户可能被人为地拒绝访问网站,并且无能为力.
虽然以前我们能够使用它navigator.platform来检查浏览器正在哪个操作系统中运行(这对于关键事件转换之类的事情仍然是必要的,例如Homevs. metaKey+ArrowLeft,或者以遵循操作系统约定的方式放置虚拟模式“关闭”图标)该选项不再存在。(也就是说,现在它在技术上仍然有效,但它不再是一个保证在您部署代码时有效的解决方案)。
如果需要操作系统知识,我似乎找不到任何关于替换应该是什么的官方文档:确定网页正在哪个操作系统/平台上运行的新的和改进的方法是什么?
(目前围绕此问题最流行的 SO 问题“使用 JavaScript 或 jQuery 检测 Mac OS X 或 Windows 计算机的最佳方法”,自决定弃用以来没有任何经过编辑的答案navigator.platform,因此遗憾的是在以下情况下没有用处:此时此刻)
如何使用JavaScript检测MacOS X,iOS,Windows,Android和Linux操作系统?
Apple发布了几款基于 M1 芯片的新电脑,采用 ARM 架构(与之前基于 x86 架构的电脑形成对比)。navigator.platform新 ARM 电脑上的 Safari、Chrome 等浏览器中 JavaScript 变量的值是多少?另外,用户代理是什么(它应该包含平台名称)?
您可以使用以下代码段检查您的:
console.log(navigator.platform);
console.log(navigator.userAgent);Run Code Online (Sandbox Code Playgroud)