ie8下实现预览pdf
ie8不兼容pdf.js,和html5
所以实现了以下方法来兼容ie8,判断是否是ie浏览器,如果是ie浏览器判断是否安装阅读器,将安装包放在服务器。若用户未安装则提示用户安装之后才能预览
//点击预览
function preview(){
//判断插件是否安装
if(!isAcrobatInstalled()){
//检测到未安装阅读器,则提示用户下载,未安装跳转到下载安装地址
alert("对不起,您还没有安装PDF阅读器软件呢,为了方便预览PDF文档,请选择安装!");
location ='阅读器路径';
}else{
window.location='后台返回的文件流路径'; //+'&#toolbar=0'可隐藏阅读器下载等按钮
//使用window.open()ie8页面打开出现空白,需再次刷新页面
}
}
//判断是否是ie浏览器
function getBrowserName(){
var userAgent = navigator ? navigator.userAgent.toLowerCase() : "other";
if(userAgent.indexOf("chrome") > -1) return "chrome";
else if(userAgent.indexOf("safari") > -1) return "safari";
else if(userAgent.indexOf("msie") > -1 || userAgent.indexOf("trident") > -1) return "ie";
else if(userAgent.indexOf("firefox") > -1) return "firefox";
return userAgent;
},
//针对IE返回ActiveXObject
function getActiveXObject(name){
try {
return new ActiveXObject(name);
} catch(e) {
}
},
//针对除了IE之外浏览器
function getNavigatorPlugin(name){
for(var key in navigator.plugins) {
var plugin = navigator.plugins[key];
if(plugin.name == name)
return plugin;
}
},
//获取Adobe Reader插件信息
function getPDFPlugin(){
if(getBrowserName() == 'ie') {
return getActiveXObject('AcroPDF.PDF')||getActiveXObject('PDF.PdfCtrl');
}
else {
// 其他浏览器不需要装
return true
}
},
//判断插件是否安装
function isAcrobatInstalled(){
return !!getPDFPlugin();
}