检测浏览器文件兼容性

Posted

技术标签:

【中文标题】检测浏览器文件兼容性【英文标题】:Detecting browser file compatibility 【发布时间】:2011-06-12 04:45:27 【问题描述】:

我正在寻找一种方法来检测用户的网络浏览器可以显示哪些文件(本机或通过插件),无论是 php 的服务器端还是 javascript 的客户端。基本上,我想要一个显示文件的框(<embed> 中的音​​频,<frame> 中的文档等),但是如果浏览器根本无法显示文件,我想向用户展示一个错误并给他们一个下载链接。

感谢您的帮助。

【问题讨论】:

文件是否加载了Javascript? 【参考方案1】:

最好的办法是确定哪些浏览器受支持,哪些不支持,然后使用浏览器检测来确定向客户端发送什么响应。

Quirksmode 为此目的提供了一个很棒的脚本以及此页面上的演示:

http://www.quirksmode.org/js/detect.html

【讨论】:

【参考方案2】:

如果用户关闭 javascript 会发生什么? PHP $_SERVER['HTTP_USER_AGENT'] 可以伪造,即使是新手也可以使用 User Agent Switcher(firefox 插件)来做到这一点 我认为这没有绝对的解决方案。

【讨论】:

那么该用户将只需要处理损坏的页面。如果选择修改用户代理字符串,则必须处理上述后果。

以上是关于检测浏览器文件兼容性的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript-浏览器兼容之客户端检测

浏览器插件安装过程中出现 GTP 6浏览器兼容检测

浏览器的兼容大坑

如何检测IE8兼容模式

input placeholder属性IE360浏览器兼容性问题

JS常用事件兼容性处理方法