javascript - JavaScript 和浏览器 PDF 支持检测
问题描述
我正在尝试基于运行应用程序的浏览器进行 PDF 支持检测。
第一个应用程序正在检查浏览器是否未在移动设备上运行。那部分工作正常 - 我得到Globals.bAllowPdfPreview = true
然后我尝试执行下面的代码
if (Globals.bAllowPdfPreview && window.navigator && window.navigator.mimeTypes)
{
Globals.bAllowPdfPreview = !!_.find(window.navigator.mimeTypes, function (oType) {
return oType && 'application/pdf' === oType.type;
});
if (!Globals.bAllowPdfPreview)
{
Globals.bAllowPdfPreview = (typeof window.navigator.mimeTypes['application/pdf'] !== 'undefined');
}
}
它在 Chrome 上运行良好,但我无法让它在 FireFox 或 IE11 上运行——这两个语句都无法验证。
任何提示为什么不起作用?
解决方案
Firefox 无法正常工作,因为 Mozillaapplication/pdf
从对象中删除了 MIME 类型,navigator.mimeTypes
并且仅适用于 IE11 application/futuresplash
,并且application/x-shockwave-flash
默认情况下可用。
推荐阅读
- javascript - JavaScript 不适用于单个 HTML 页面上的所有选项卡
- vb.net - 不允许在 Lambda 表达式中使用 ByRef 参数。解决方法没有给参数正确的状态
- python - 嵌入在 BS4 元素的 div 类中的背景图像的 URL
- python - 如何在对数轴上绘制 imshow 或 matshow,使网格在对数轴上是规则的
- java - 正则表达式拆分包含引号的 CSV 字符串
- jquery - 引导表不会排序
- c++ - std::chrono::system_time 的 Visual Studio 2017 CRT 实现使用什么时钟?
- android - Phonegap Cordova 使用 Facebook 登录
- javascript - 在 Chrome 中检查日期的更严格方法
- python - 在这个 python 函数中返回矩阵结果的正确方法是什么?