javascript


window.onerror = function(msg, url, line)
{
 if (window.debug)
 {
  var err = "url  :" + url + "\nline :" + line + " 行\nerror:" + msg;
  if (!window.confirm(err + "\n\n页面含有如上脚本错误,是否继续报告错误?"))
  {
   window.debug = false;
  }
  return true;
 }
 else
 {
  return true;
 }
};

//Browser check
var Browser = new Object();

Browser.ua = window.navigator.userAgent.toLowerCase();
Browser.ie = /msie/.test(Browser.ua);
Browser.moz = /gecko/.test(Browser.ua);

/************************Cookie*******************************/
var Cookie = {
 setCookie : function(name, value, expires, path, domain, secure)
 {
  document.cookie = name + "=" + escape(value) +
   ((expires) ? "; expires=" + expires.toGMTString() : "") +
   ((path) ? "; path=" + path : "; path=/") +
   ((domain) ? "; domain=" + domain : "") +
   ((secure) ? "; secure" : "");
 },

 getCookie : function(name)
 {
  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));

  if (arr != null)
  {
   return unescape(arr[2]);
  
  }

  return null;
 },

 clearCookie : function(name, path, domain)
 {
  if (Cookie.getCookie(name))
  {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "; path=/") +
    ((domain) ? "; domain=" + domain : "") +
    ";expires=Fri, 02-Jan-1970 00:00:00 GMT";
  }
 }
};

//$
var $ = function(s)
{
 return (typeof s == "object") ? s: document.getElementById(s);
};

//JsLoader
var JsLoader = {
 load: function(sId, sUrl, fCallback)
 {
  try
  {
   $(sId).parentNode.removeChild($(sId));
  }
  catch (e)
  {
  }

  var _script = document.createElement("script");
  _script.setAttribute("id", sId);
  _script.setAttribute("type", "text/javascript");
  _script.setAttribute("src", sUrl);

  document.getElementsByTagName("head")[0].appendChild(_script);

  var argu = Array.prototype.slice.call(arguments, 3);
  if (Browser.ie)
  {
   _script.onreadystatechange = function()
   {
    if (this.readyState=="loaded" || this.readyState=="complete")
    {
     try
     {
      _script.parentNode.removeChild(_script);
     }
     catch (e)
     {
     }
     fCallback.apply(this, argu);
    }
   };
  }
  else if (Browser.moz)
  {
   _script.onload = function()
   {
    _script.parentNode.removeChild(_script);
    fCallback.apply(this, argu);
   };
  }
  else
  {
   fCallback.apply(this, argu);
  }
 }
};

posted on 2008-11-25 11:31  西湖浪子  阅读(193)  评论(0)    收藏  举报