PHP 检测 Opera
如何使用 PHP 检测 Opera?我在 drupal 中使用 lightbox,它们是 opera 中的一个错误,所以如果使用 opera 查看该网站,我想打印一个普通链接而不是 lightbox。
我找到了这个链接,但它只是说“其他浏览器”而不是 Opera: http://drupal.org/node/65903
这会打印正在使用的浏览器,并且似乎工作正常:
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>
那么如果浏览器是opera,我可以修改代码来打印一些东西吗?如果是这样,这种方法有什么陷阱吗?
谢谢
How can I detect Opera with PHP? Im using lightbox with drupal and their is a bug in opera, so if the site is being viewed with opera I want to print a normal link instead of the lightbox.
I found this link but it just says 'other browser' not opera:
http://drupal.org/node/65903
This prints the browser being used and seems to work fine:
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>
So can I modify the code to print something if the browser is opera? If so, are their any pit falls to this method?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
检查此链接。在评论中,有人发布了以下代码:
所以你可以这样说:
Check this link. Down in the comments, somebody posted the following code:
So you could say something like:
您可以尝试使用 http://chrisschuld.com/ items/browser-php-detecting-a-users-browser-from-php/,它看起来像是一个有用的脚本,但是,如果您输入的 PHP 代码正在回显某些内容,您可以使用它来更改链接已呈现,那么可能就可以了。唯一的问题是您应该使用某种松散的字符串比较,而不是严格的字符串比较,因为 Opera 的用户代理可能会在版本或操作系统之间发生变化。
You could try using http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/, it looks like an useful script, however, if that PHP code you entered is echoing something you can use to change how the link is rendered, then that might be fine. The only thing is that you should use a some loose string comparison, not a strict one, because Opera's user agents might change between versions or operating systems.
是的,您可以修改代码。只需使用 Opera 为您提供的
$_SERVER['HTTP_USER_AGENT']
即可进行正确的更改。就陷阱而言,请记住人们可以更改他们的用户代理。某些应用程序也会更改浏览器的用户代理。因此,用户代理嗅探并不是保证兼容性的可靠方法……实际上,您最好在前端检查特定的浏览器功能,而不是在服务器端检查。但如果您在 PHP 中陷入困境,那么您就走对了路。
Yes, you can modify the code. Just use what Opera is giving you for
$_SERVER['HTTP_USER_AGENT']
to make the right change.As far as pitfalls go, remember that people can change their user agent. Some applications will change your browser's user agent as well. So user agent sniffing isn't a surefire way to guarantee compatibility ... in reality, you'd be better checking for specific browser capabilities on the front end rather than checking on the server side. But if you're stuck doing this in PHP, you're on the right track.