原生js编写设为首页兼容ie、火狐和谷歌


Posted in Javascript onJune 05, 2014

原生 js 编写,兼容 ie,火狐和谷歌。

完整代码:

<script type="text/javascript">
//设为首页 3water.com
function SetHome(obj,url){
  try{
    obj.style.behavior='url(#default#homepage)';
    obj.setHomePage(url);
  }catch(e){
    if(window.netscape){
     try{
       netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
     }catch(e){
       alert("抱歉,此操作被浏览器拒绝!\n\n请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
     }
    }else{
    alert("抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【"+url+"】设置为首页。");
    }
 }
}
 
//收藏本站 3water.com
function AddFavorite(title, url) {
 try {
   window.external.addFavorite(url, title);
 }
catch (e) {
   try {
    window.sidebar.addPanel(title, url, "");
  }
   catch (e) {
     alert("抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请进入新网站后使用Ctrl+D进行添加");
   }
 }
}
</script>
<a href="javascript:void(0);" onclick="SetHome(this,'https://3water.com');">设为首页</a>
<div class="text text2"><a href="javascript:void(0);" onclick="AddFavorite('三水点靠木','https://3water.com')">收 藏 本 站</a>

下面的可以参考:

函数如下:

function setHome(obj,url){ 

try{ 

obj.style.behavior = 'url(#default#homepage)'; 

obj.setHomePage(url); 

}catch(e){ 

if(window.netscape){ 

try{ 

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); 

}catch(e){ 

alert('抱歉,此操作被浏览器拒绝!\n\n请在浏览器地址栏输入“about:config”并回车\n\n然后将[signed.applets.codebase_principal_support]的值设置为true,双击即可。'); 

} 

var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); 

prefs.setCharPref('browser.startup.homepage',url); 

}else{ 

alert('抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【' + url + '】设置为首页。'); 

} 

} 

}

使用方法:
<!DOCTYPE HTML> 

<html lang="en"> 

<head> 

<meta charset="utf-8"/> 

<title>设为首页</title> 

</head> 

<body> 

<a href="javascript:;" onclick="setHome(this,window.location);">设为首页</a> 

</body> 

</html>
Javascript 相关文章推荐
学习ExtJS 访问容器对象
Oct 07 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
jQuery实现的网页左侧在线客服效果代码
Oct 23 Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 Javascript
ArtEditor富文本编辑器增加表单提交功能
Apr 18 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
May 12 Javascript
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
Angular17之Angular自定义指令详解
Jan 21 Javascript
微信小程序之圆形进度条实现思路
Feb 22 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 #Javascript
如何获取网站icon有哪些可行的方法
Jun 05 #Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 #Javascript
网页右下角弹出窗体实现代码
Jun 05 #Javascript
获取中文字符串的实际长度代码
Jun 05 #Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 #Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 #Javascript
You might like
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php的sso单点登录实现方法
2015/01/08 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
PHP序列化操作方法分析
2016/09/28 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
JS画线(实例代码)
2013/11/20 Javascript
VueJS全面解析
2016/11/10 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
JS库之Highlight.js的用法详解
2017/09/13 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
Python批量按比例缩小图片脚本分享
2015/05/21 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
python 调用钉钉机器人的方法
2019/02/20 Python
python 实现多维数组(array)排序
2020/02/28 Python
不用游标的SQL语句有哪些
2012/09/07 面试题
你所在的项目是如何确定版本号的
2015/12/28 面试题
学习心得体会
2014/01/01 职场文书
大学学习生活感言
2014/01/18 职场文书
怎么写自荐书范文
2014/02/12 职场文书
小学教学随笔感言
2014/02/26 职场文书
艺术设计专业个人求职信
2014/04/10 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
vue+echarts实现多条折线图
2022/03/21 Vue.js
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL