admin 发表于 2015-6-12 17:26:24

完美兼容多浏览器的'设为首页','加入收藏','保存到桌面'的JS代码

原来一直源用于IE的“设为首页”和“加入收藏”代码,已经不被现在的谷歌等核的浏览器支持。
下面分享一段代码,当浏览器不支持时,弹出提示。
< script type = "text/javascript" >
//设为首页

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”并回车然后将设置为'true'");
                        }
                } else {
                        alert("抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【" + url + "】设置为首页。");
                }
      }
}
//收藏本站

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进行添加");
                }
      }
}
//保存到桌面

function toDesktop(sUrl, sName) {
      try {
                var WshShell = new ActiveXObject("WScript.Shell");
                var oUrlLink = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") + "\\" + sName + ".url");
                oUrlLink.TargetPath = sUrl;
                oUrlLink.Save();
      } catch (e) {
                alert("当前IE安全级别不允许操作!");
      }
} < /script>

调用链接:
<a href="javascript:void(0);" onclick="SetHome(this,'http://www.dgmps.com');">设为首页</a>
<a href="javascript:void(0);" onclick="AddFavorite('我的网站',location.href)">收藏本站</a>
<a href="javascript:void(0);" onclick="toDesktop(location.href,'我的网站')">保存到桌面</a>

admin 发表于 2015-6-12 17:26:31

页: [1]
查看完整版本: 完美兼容多浏览器的'设为首页','加入收藏','保存到桌面'的JS代码