修复IE11下“加入收藏失败”的解决办法
作者:动易软件
来源:本站原创
点击数: 次
发布时间:2019年03月28日
不知道大家有没有发现,在目前所有的标准配套模板所用到的“加入收藏”JS代码,已经不兼容IE11以上版本了
![](/upload/history/tech/uploadfiles/help/2019/3/201903282250384231.jpg)
目前
所用到的“加入收藏”JS代码以下
// 加入收藏代码 Start -->
function AddFavorite(sURL, sTitle) {
if (document.all) {
try {
window.external.addFavorite(sURL, sTitle);
} catch (e) {
alert("加入收藏失败,请使用Ctrl+D进行添加");
}
} else if (window.sidebar) {
window.sidebar.addPanel(sTitle, sURL, "");
} else {
alert("加入收藏失败,请使用Ctrl+D进行添加");
}
}
目前采前i
f (document.all) 的方法判断IE11以上浏览器已不适用
所以IE11以上浏览器会直接弹出失败对话框
但,
window.external.addFavorite(sURL, sTitle);,此代码依然是适用的
所以我们只需要改变判断代码就可以支持IE11以上版本
修改后代码如下
// 加入收藏代码 Start -->
function AddFavorite(sURL, sTitle) {
try {
var ctrl=navigator.userAgent;
ctrl=ctrl.toLocaleLowerCase();
if(document.all||ctrl.match(/msie/)!=null||ctrl.match(/trident/)!=null){
//IE
类
浏览器
window.external.addFavorite(sURL, sTitle);
}else{
if(window.sidebar){
//firfox等浏览器
window.sidebar.addPanel(sTitle, sURL, "");
}else{
alert("加入收藏失败,请使用Ctrl+D进行添加")
}
}
} catch (e) {
alert("加入收藏失败,请使用Ctrl+D进行添加");
}
}
IE11以前的
userAgent版本为
msie.x.x;
IE11以上的
userAgent版本为 t
rident
.x.x;
所以我们重新判断下这两个版本就可以解决目前IE11以上版本浏览器无法加入收藏的问题了。