Javascript 正在获取用户代理值。服务器端还是客户端?
我需要将用户代理值传递到前端 我可以使用Javascript 正在获取用户代理值。服务器端还是客户端?,javascript,php,server,client,user-agent,Javascript,Php,Server,Client,User Agent,我需要将用户代理值传递到前端 我可以使用$\u SERVER['HTTP\u USER\u AGENT']获取此值,并将其写入前端。 (实际上,我将使用Mage::helper('core/http')->getHttpUserAgent(),但我认为调用上述函数只是一个magento helper。) 或者我可以在客户端使用getnavigator.userAgent和js 哪个更好,为什么?我最关心的是速度 p、 我知道UA很容易被操纵。我们没有将任何重要功能基于该值,而是将其用作次要参数。
$\u SERVER['HTTP\u USER\u AGENT']
获取此值,并将其写入前端。
(实际上,我将使用Mage::helper('core/http')->getHttpUserAgent()
,但我认为调用上述函数只是一个magento helper。)
或者我可以在客户端使用getnavigator.userAgent
和js
哪个更好,为什么?我最关心的是速度
p、 我知道UA很容易被操纵。我们没有将任何重要功能基于该值,而是将其用作次要参数。我个人会使用
navigator.userAgent
。主要是因为在我看来,将值从PHP传递到JavaScript是非常难看的。此外,这两个值将完全相同。即使有人决定编辑他们的用户代理
我认为简单是关键。性能取决于目的。如果您在php中需要这个,那么将服务器变量与上面提到的helper getter一起使用。对于js,使用navigator对象
通常,navigator.userAgent和HTTP_USER_AGENT都是请求头的变量,并且都已经存在于内存中(对于js,服务器或用户浏览器)。因此,不可能有可测量的性能差异。如果您将其传递到前端,并且可以从前端获取,那么为什么要使用服务器呢?原因非常接近-“许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。”你可能想找一个发展论坛(也许?)如果你有具体的编码问题,请回到StackOverflow,我们会很乐意提供帮助。我使用chrome扩展将我的用户代理切换到google机器人的一个。navigator.userAgent没有更新,尽管在使用Puppeter测试同样的东西时,它也能工作。