几段兼容和容错的JS代码

作者:阿川 发布时间:February 25, 2010 分类:编程开发 点击:11000

主要是因为昨天把自己弄的很恼火了.找了好久才找到的解决方案.
第一段,是关于添加收藏和设为首页的,兼容IE和火狐,代码如下:

function AddFavorite(sURL, sTitle)
{
    try
    {
        window.external.addFavorite(sURL, sTitle);
    }
    catch (e)
    {
        try
        {
            window.sidebar.addPanel(sTitle, sURL, "");
        }
        catch (e)
        {
            alert("加入收藏失败,请使用Ctrl+D进行添加");
        }
    }
}
function SetHome(obj,vrl){
        try{
          obj.style.behavior='url(#default#homepage)';obj.setHomePage(vrl);
        }
        catch(e){
                if(window.netscape) {
                try {
                     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                    }
                        catch (e) {
                      alert("此操作被浏览器拒绝!\n请在浏览器地址栏输入“about:config”并回车\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',vrl);
                 }
        }
}


调用方法是:

<a onclick="AddFavorite(window.location,document.title)">加入收藏</a>
<a onclick="SetHome(this,window.location)">设为首页</a>

再来的一段是容错的,本来昨天在做我要查询的whois页面,却发现无论怎么弄都不可以点击查询.找了大半天的错误,才发现是JS有冲突,将调用的header.js换成HTML以后,再加上这段传说中的容错代码后问题解决了,貌似还不错,代码如下:

function ResumeError() {
return true;
}
window.onerror = ResumeError;

最后一个,屏蔽错误的,主要用于对站没啥影响而且又报错的情况下的.代码如下:

标签: none

已有 2 条评论 »

  1. Im1987...

    [...] something about im1987[...]...

添加新评论 »