2024年4月14日发(作者:)

题目:JS检测浏览器Adobe Reader插件

1. --JS检测浏览器Adobe Reader插件

Web应用中当我们希望向用户显示pdf文档时候,如果用户安装

了Adobe Reader之类的pdf阅读器,就可以直接打开文档在浏览

器中显示,>>>

但是,当用户没有安装这类软件的时候,自然是打不开的,为了

系统或者网站的易用性,最好在展示文档之前对客户端进行检测,

如果已经安装>>>

这类阅读器就直接显示,如果没有安装则跳转到Adobe Reader之

类的阅读软件的下载页面或者直接给用户下载地址,提示用户进

行下载安装。>>>

我们可以通过JavaScript先进行检测,然后根据检测结果进行指

定的跳转。如果是像火狐、谷歌这类浏览器很好处理,可是IE浏

览器则总会遇到>>>

各种问题,通过搜多资料和测试终于解决了各种版本以及不同浏

览器的问题,下面就是相应的JavaScript代码。>>>

script type="text/javascript">>>

//检测浏览器类型:IE、火狐、谷歌、Safari>>>

function getBrowserName(){ >>>

var userAgent = navigator ? rCase() :

"other"; >>>

if(f("chrome") >>>

-1) return "chrome"; >>>

else if(f("safari") >>>

-1) return "safari"; >>>

else if(f("msie") >>>

-1 || f("trident") >>>

return "ie"; >>>

else if(f("firefox") >>>

-1) return "firefox"; >>>

return userAgent; >>>

//针对IE返回ActiveXObject >>>

function getActiveXObject (name){ >>>

try {>>>

return new ActiveXObject(name);>>>

} catch(e) { >>>

//针对除了IE之外浏览器 >>>

function getNavigatorPlugin (name){ >>>

for(key in s) { >>>

var plugin = s[key]; >>>

if( == name)>>>

return plugin; >>>

//获取Adobe Reader插件信息 >>>

function getPDFPlugin(){ >>>

if(getBrowserName() == >>>

) { >>>

// load the activeX control >>>

// is used by version 7 and later >>>

// l is used by version 6 and earlier >>>

return getActiveXObject(>>>

>>>

||getActiveXObject(>>>

l>>>

}else { >>>

return getNavigatorPlugin(>>>

Adobe Acrobat>>>

) || getNavigatorPlugin(>>>

Chrome >>>

PDF Viewer>>>

) || getNavigatorPlugin(>>>

WebKit built-in PDF>>>

); } >>>

//判断插件是否安装 >>>

function isAcrobatInstalled(){ >>>

return !!getPDFPlugin(); >>>

//获取Adobe Reader版本 >>>

function getAcrobatVersion(){ >>>

try { >>>

var plugin = getPDFPlugin(); >>>

if(getBrowserName() == >>>

) { >>>

var versions = sions().split(>>>

var latest = versions[0].split(>>>

return parseFloat(latest[1]); >>>

if(n)>>>

return parseInt(n); >>>

return ; >>>

} catch(e) { >>>

return null; >>>

//插件安装了,则跳转到指定页面 >>>

if(isAcrobatInstalled){ >>>

=""; >>>

}else{>>>

//检测到未安装阅读器,则提示用户下载 >>>

alert("你可能还没有安装pdf阅读器,为了方便你查看pdf文档,

请下载!"); >>>

="/pub/adobe/

reader/win/9.x/9.3/chs/AdbeRdr930_zh_"; }>>>

/script>>>

&& _screen && _screen();>>>