加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

Web浏览器,检测是否安装了PDF阅读器?

发布时间:2020-12-14 21:15:44 所属栏目:资源 来源:网络整理
导读:有没有办法检查用户是否安装了PDF阅读器? 也许使用ActiveX组件? 你可以帮我吗? 解决方法 您可以使用window.navigator.plugins检测已安装的插件 这将返回一个包含已安装插件详细信息的数组,但这对Internet Explorer不起作用.运行此代码时,IE仅返回页面中带
有没有办法检查用户是否安装了PDF阅读器?
也许使用ActiveX组件?

你可以帮我吗?

解决方法

您可以使用window.navigator.plugins检测已安装的插件
这将返回一个包含已安装插件详细信息的数组,但这对Internet Explorer不起作用.运行此代码时,IE仅返回页面中带有嵌入标记的数组.谢谢IE,这么有用吗?

好吧,让我们尝试解决这个问题.以下功能应该适用于所有主流浏览器中的IE.

function hasPlugin(name) {
    name = name.toLowerCase();
    var plugins = window.navigator.plugins;
    for (var i=0,len = plugins.length; i  -1) {
            return true;
        }
    }
    return false;
}

你可以调用这个函数并像这样检查插件状态

hasPlugin('Flash');
hasPlugin('QuickTime');

对于IE,我们应该试试这个

function hasPlugin(name) {
    try {
        new ActiveXObject(name);
        return true;
    } catch (e) {
        return false;
    }
}

你可以调用这个函数并检查IE的插件状态

hasPlugin('ShockwaveFlash.ShockwaveFlash');

您可以像这样跨浏览器进行此功能声明

var hasPlugin;
if (navigator.userAgent.indexOf('MSIE')) {
    hasPlugin = function(name) {
        try {
            new ActiveXObject(name);
            return true;
        } catch (e) {
            return false;
        }
    }
}
else {
    hasPlugin = function(name) {
        name = name.toLowerCase();
        var plugins = window.navigator.plugins;
        for (var i=0,len = plugins.length; i  -1) {
                return true;
            }
        }
        return false;
    }
}

然后,您可以以跨浏览器方式调用该函数.对不起,我没有为我的浏览器安装任何PDF插件,-Firefox,Chrome或IE-所以我可以告诉你我们应该通过hasPlugin函数的参数的确切名称.

我希望这能帮到您.顺便说一下,我没有尝试过浏览器中的代码,这是对我的一种了解.但我想这会帮助你 – 希望 –

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读