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

 更新时间:2014年06月05日 17:18:03   投稿:whsnow  
这篇文章主要介绍了如何通过原生js实现设为首页并兼容ie、火狐和谷歌,需要的朋友可以参考下

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

完整代码:

<script type="text/javascript">
//设为首页 www.jb51.net
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+"】设置为首页。");
    }
 }
}
 
//收藏本站 www.jb51.net
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://www.jb51.net');">设为首页</a>
<div class="text text2"><a href="javascript:void(0);" onclick="AddFavorite('脚本之家','https://www.jb51.net')">收 藏 本 站</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 数组使用方法汇总

    javascript 数组使用方法汇总

    由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素 可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
    2009-12-12
  • IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性

    IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性

    IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性的说明,需要的朋友可以参考下。
    2011-08-08
  • qq悬浮代码(兼容各个浏览器)

    qq悬浮代码(兼容各个浏览器)

    qq悬浮代码(兼容各个浏览器)。需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 利用JS来控制键盘的上下左右键(示例代码)

    利用JS来控制键盘的上下左右键(示例代码)

    这篇文章主要介绍了利用JS来控制键盘的上下左右键示例代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • js代码判断是否处于微信浏览器内两种方式

    js代码判断是否处于微信浏览器内两种方式

    微信内置浏览器屏蔽了下载链接,如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,那么该如何判断用户是否是用微信浏览器呢?这篇文章主要给大家介绍了关于js代码判断是否处于微信浏览器内的两种方式,需要的朋友可以参考下
    2023-10-10
  • js replace()去除代码中空格的实例

    js replace()去除代码中空格的实例

    下面小编就为大家带来一篇js replace()去除代码中空格的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图

    javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图

    gRaphael是一个致力于帮助开发人员在网页中绘制各种精美图表的 Javascript库,你只需要编写几行简单的代码就能创建出精美的条形图、饼图、点图和曲线图,感兴趣的朋友可以了解下
    2013-01-01
  • 一文搞懂JavaScript中的内存泄露

    一文搞懂JavaScript中的内存泄露

    以前我们说的内存泄漏,通常发生在后端,但是不代表前端就不会有内存泄漏。特别是当前端项目变得越来越复杂后,前端也逐渐称为内存泄漏的高发区。本文就带大家了解一下Javascript的内存泄漏
    2022-06-06
  • JS模板实现方法

    JS模板实现方法

    我们在使用JS渲染DOM时,一般使用字符串创建DOM然后附加到父元素上,如果附加的DOM是动态易变的,那需要在函数中写大量逻辑。如果在控件实现过程中,这带来的问题更为严重。
    2013-04-04
  • JavaScript中Textarea滚动条不能拖动的解决方法

    JavaScript中Textarea滚动条不能拖动的解决方法

    这篇文章主要介绍了JavaScript中Textarea滚动条不能拖动的解决方法,主要针对IE浏览器中Textarea滚动条绑定了onfocus事件时分析对应的处理方法,需要的朋友可以参考下
    2015-12-12

最新评论