基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
现在的浏览器越来越多,这就使得网页设计的兼容性要求越来越高,像常用的设为首页、加入收藏代码,一般的虽然简洁,但兼容性却非常不好,加入收藏和设为首页代码几乎各个网站都在头部放上一个,有没有效果先不管,需求应该是有的。
但是由于浏览器的兼容性问题,之前用的很多代码都失去效果,下面就给出一段能够兼容各个浏览器的代码,也不能够算是兼容,只能说在不支持的浏览器中能够给出提示,代码如下:
<!doctype html>
<html>
<head>
<title>加入收藏和设为首页</title>
<script type="text/javascript">
//加入收藏
function AddFavorite(sURL, sTitle){
sURL = encodeURI(sURL);
try{
window.external.addFavorite(sURL, sTitle);
}
catch(e){
try{
window.sidebar.addPanel(sTitle, sURL, "");
}
catch(e){
alert("加入收藏失败,请使用Ctrl+D进行添加,或手动在浏览器里进行设置.");
}
}
}
//设为首页
function SetHome(url){
if (document.all){
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage(url);
}
else{
alert("您好,您的浏览器不支持自动设置页面为首页功能,请您手动在浏览器里设置该页面为首页!");
}
}
</script>
</head>
<body>
<a href="javascript:void(0)">设为首页</a>
<a href="javascript:void(0)">加入收藏</a>
</body>
</html>
以上代码简短易懂,可以兼容各个浏览器加入收藏和设为首页,有问题欢迎提出,小编会及时和大家联系的,谢谢!
下面给大家分享一段jquery代码实现加入收藏夹功能
//设为首页
function SetHomePage() {
if (document.all) {
document.body.style.behavior = 'url(#default#homepage)';
document.body.setHomePage('http://www.87cool.com');
}
else if (window.sidebar) {
if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage', 'http://www.87cool.com');
}
}
//加入收藏夹
function AddFavorite() {
var title = document.title;
var url = location.href;
if (window.sidebar) {
window.sidebar.addPanel(title, url, "");
} else if (document.all) {
window.external.AddFavorite(url, title);
} else {
return true;
}
}
相关文章
npm install报错Error:EPERM:operation not permitted,rename解决
这篇文章主要给大家介绍了关于npm install报错Error:EPERM:operation not permitted,rename的解决办法,文中介绍了可能遇到的多种原因以及解决办法,需要的朋友可以参考下2024-01-01
ES6 Promise基础用法(resolve、reject、then、catch,a
Promise是JavaScript中处理异步操作的对象,它有三种状态:Pending、Fulfilled、Rejected,使用new Promise创建Promise对象,通过resolve和reject改变状态,then和catch方法用于处理成功和失败的结果,本文介绍ES6 Promise用法,感兴趣的朋友一起看看吧2024-09-09
详解如何使用JavaScript中Promise类实现并发任务控制
在JavaScript中,Promise是一种用于管理异步操作的强大工具,但是,有时候需要更高级的控制,以限制同时执行的任务数量,以避免系统资源超负荷,本文将深入探讨JavaScript中的并发任务控制,并介绍如何创建一个自定义的Promise类——ConcurrentPromise2023-08-08
JavaScript中String.prototype用法实例
这篇文章主要介绍了JavaScript中String.prototype用法,实例分析了prototype的功能及使用技巧,需要的朋友可以参考下2015-05-05
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
这篇文章主要介绍了网站发布到IIS后Bootstrap框架引用的woff字体无法正常显示的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-11-11


最新评论