javascript - 如何检测UA是否能够内嵌显示内容

标签 javascript jquery dom

浏览器可以内联显示某些媒体,并且只要它们是通过 content-disposition: inline 发送的。检测浏览器是否能够对特定类型的媒体执行此操作的最佳方法是什么?

我最近在使用 PDF 和 Mac/FF 时遇到了这个问题,它似乎拒绝内联显示 PDF(实际上是在 iFrame 中),而是提示下载。我不介意强制下载;我只是希望能够预见到这一点,以便我可以为最终用户提供一个不错的“下载”链接,而不是无法显示内联内容的 iFrame。我目前的解决方案只是浏览器检测(下面的示例代码),但肯定有更好的模式。

var isMacFF = window.navigator.userAgent.search(/Mozilla.*Mac/i) != -1

最佳答案

这并不能直接回答问题,但在分析得到的任何答案时需要注意 - 由于各种浏览器插件的存在,您无法 100% 可靠地确定这一点。

具体而言,以 FireFox 为例,以 PDF Downloader 为例 - 它基本上允许用户 100% 完全控制 PDF 的显示方式。

关于javascript - 如何检测UA是否能够内嵌显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462072/

相关文章:

javascript - 如何使用 Javascript 而不是 jQuery 单击缩略图后显示图片?

javascript - 在 ascx 页面中使用 jquery 删除之前弹出警报,用于在 onClientClick 中调用链接按钮

javascript - 如何使用范围 slider 更新值?

javascript - getElementById 不返回元素

javascript - jQuery - 如何将 jQuery 对象转换为使用 getElementById 返回的对象类型

javascript - DOM Excptn 8 : Adding a Picture to a Div

javascript - 无法在加载页面期间更改表单子(monad)元素的边框颜色

javascript - 如何将数组从服务函数传递到 Controller (AngularJs)中的范围?

javascript - 如果 ng-if 条件为真,如何设置属性

javascript - 根据给定日期获取周一至周日