亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xbdebug.js

?? 一個用javascript開發的可以拖拽表單的例子,很精典.
?? JS
字號:
// xbDebug.js revision: 0.003 2002-02-26/* ***** BEGIN LICENSE BLOCK ***** * Licensed under Version: MPL 1.1/GPL 2.0/LGPL 2.1 * Full Terms at /xbProjects-srce/license/mpl-tri-license.txt * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Netscape code. * * The Initial Developer of the Original Code is * Netscape Corporation. * Portions created by the Initial Developer are Copyright (C) 2001 * the Initial Developer. All Rights Reserved. * * Contributor(s): Bob Clary <bclary@netscape.com> * * ***** END LICENSE BLOCK ***** *//*ChangeLog:2002-02-25: bclary - modified xbDebugTraceOject to make sure             that original versions of wrapped functions were not            rewrapped. This had caused an infinite loop in IE.2002-02-07: bclary - modified xbDebug.prototype.close to not null            the debug window reference. This can cause problems with	          Internet Explorer if the page is refreshed. These issues will	          be addressed at a later date.*/function xbDebug(){  this.on = false;  this.stack = new Array();  this.debugwindow = null;  this.execprofile = new Object();}xbDebug.prototype.push = function (){  this.stack[this.stack.length] = this.on;  this.on = true;}xbDebug.prototype.pop = function (){  this.on = this.stack[this.stack.length - 1];  --this.stack.length;}xbDebug.prototype.open =  function (){  if (this.debugwindow && !this.debugwindow.closed)    this.close();      this.debugwindow = window.open('about:blank', 'DEBUGWINDOW', 'height=400,width=600,resizable=yes,scrollbars=yes');  this.debugwindow.title = 'xbDebug Window';  this.debugwindow.document.write('<html><head><title>xbDebug Window</title></head><body><h3>Javascript Debug Window</h3></body></html>');  this.debugwindow.focus();}xbDebug.prototype.close = function (){  if (!this.debugwindow)    return;      if (!this.debugwindow.closed)    this.debugwindow.close();  // bc 2002-02-07, other windows may still hold a reference to this: this.debugwindow = null;}xbDebug.prototype.dump = function (msg){  if (!this.on)    return;      if (!this.debugwindow || this.debugwindow.closed)    this.open();      this.debugwindow.document.write(msg + '<br>');    return;}var xbDEBUG = new xbDebug();window.onunload = function () { xbDEBUG.close(); }function xbDebugGetFunctionName(funcref){  if (!funcref)  {    return '';  }  if (funcref.name)    return funcref.name;  var name = funcref + '';  name = name.substring(name.indexOf(' ') + 1, name.indexOf('('));  funcref.name = name;  if (!name) alert('name not defined');  return name;}// emulate functionref.apply for IE mac and IE win < 5.5function xbDebugApplyFunction(funcname, funcref, thisref, argumentsref){  var rv;  if (!funcref)  {    alert('xbDebugApplyFunction: funcref is null');  }  if (typeof(funcref.apply) != 'undefined')      return funcref.apply(thisref, argumentsref);  var applyexpr = 'thisref.xbDebug_orig_' + funcname + '(';  var i;  for (i = 0; i < argumentsref.length; i++)  {    applyexpr += 'argumentsref[' + i + '],';  }  if (argumentsref.length > 0)  {    applyexpr = applyexpr.substring(0, applyexpr.length - 1);  }  applyexpr += ')';  return eval(applyexpr);}function xbDebugCreateFunctionWrapper(scopename, funcname, precall, postcall){  var wrappedfunc;  var scopeobject = eval(scopename);  var funcref = scopeobject[funcname];  scopeobject['xbDebug_orig_' + funcname] = funcref;  wrappedfunc = function ()   {    var rv;    precall(scopename, funcname, arguments);    rv = xbDebugApplyFunction(funcname, funcref, scopeobject, arguments);    postcall(scopename, funcname, arguments, rv);    return rv;  };  if (typeof(funcref.constructor) != 'undefined')    wrappedfunc.constructor = funcref.constuctor;  if (typeof(funcref.prototype) != 'undefined')    wrappedfunc.prototype = funcref.prototype;  scopeobject[funcname] = wrappedfunc;}function xbDebugCreateMethodWrapper(contextname, classname, methodname, precall, postcall){  var context = eval(contextname);  var methodref = context[classname].prototype[methodname];  context[classname].prototype['xbDebug_orig_' + methodname] = methodref;  var wrappedmethod = function ()   {    var rv;    // eval 'this' at method run time to pick up reference to the object's instance    var thisref = eval('this');    // eval 'arguments' at method run time to pick up method's arguments    var argsref = arguments;    precall(contextname + '.' + classname, methodname, argsref);    rv = xbDebugApplyFunction(methodname, methodref, thisref, argsref);    postcall(contextname + '.' + classname, methodname, argsref, rv);    return rv;  };  return wrappedmethod;}function xbDebugPersistToString(obj){  var s = '';  var p;  if (obj == null)     return 'null';  switch(typeof(obj))  {    case 'number':       return obj;    case 'string':       return '"' + obj + '"';    case 'undefined':       return 'undefined';    case 'boolean':       return obj + '';  }  if (obj.constructor)    return '[' + xbDebugGetFunctionName(obj.constructor) + ']';  return null;}function xbDebugTraceBefore(scopename, funcname, funcarguments) {  var i;  var s = '';  var execprofile = xbDEBUG.execprofile[scopename + '.' + funcname];  if (!execprofile)    execprofile = xbDEBUG.execprofile[scopename + '.' + funcname] = { started: 0, time: 0, count: 0 };  for (i = 0; i < funcarguments.length; i++)  {    s += xbDebugPersistToString(funcarguments[i]);    if (i < funcarguments.length - 1)      s += ', ';  }  xbDEBUG.dump('enter ' + scopename + '.' + funcname + '(' + s + ')');  execprofile.started = (new Date()).getTime();}function xbDebugTraceAfter(scopename, funcname, funcarguments, rv) {  var i;  var s = '';  var execprofile = xbDEBUG.execprofile[scopename + '.' + funcname];  if (!execprofile)    xbDEBUG.dump('xbDebugTraceAfter: execprofile not created for ' + scopename + '.' + funcname);  else if (execprofile.started == 0)    xbDEBUG.dump('xbDebugTraceAfter: execprofile.started == 0 for ' + scopename + '.' + funcname);  else   {    execprofile.time += (new Date()).getTime() - execprofile.started;    execprofile.count++;    execprofile.started = 0;  }  for (i = 0; i < funcarguments.length; i++)  {    s += xbDebugPersistToString(funcarguments[i]);    if (i < funcarguments.length - 1)      s += ', ';  }  xbDEBUG.dump('exit  ' + scopename + '.' + funcname + '(' + s + ')==' + xbDebugPersistToString(rv));}function xbDebugTraceFunction(scopename, funcname){  xbDebugCreateFunctionWrapper(scopename, funcname, xbDebugTraceBefore, xbDebugTraceAfter);}function xbDebugTraceObject(contextname, classname){  var classref = eval(contextname + '.' + classname);  var p;  var sp;  if (!classref || !classref.prototype)     return;  for (p in classref.prototype)  {    sp = p + '';    if (typeof(classref.prototype[sp]) == 'function' && (sp).indexOf('xbDebug_orig') == -1)    {      classref.prototype[sp] = xbDebugCreateMethodWrapper(contextname, classname, sp, xbDebugTraceBefore, xbDebugTraceAfter);    }  }}function xbDebugDumpProfile(){  var p;  var execprofile;  var avg;  for (p in xbDEBUG.execprofile)  {    execprofile = xbDEBUG.execprofile[p];    avg = Math.round ( 100 * execprofile.time/execprofile.count) /100;    xbDEBUG.dump('Execution profile ' + p + ' called ' + execprofile.count + ' times. Total time=' + execprofile.time + 'ms. Avg Time=' + avg + 'ms.');  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久国产精品| 日韩国产一二三区| 日韩三级视频在线观看| 91香蕉视频黄| 97se亚洲国产综合自在线不卡| 国产一区二区久久| 九色porny丨国产精品| 亚洲成av人片在线观看无码| 中文字幕在线观看一区| 国产日本欧洲亚洲| 国产色一区二区| 国产亚洲va综合人人澡精品| 精品国产伦一区二区三区观看方式| 777奇米成人网| 91精品欧美综合在线观看最新| 欧美色综合网站| 久久精品视频免费观看| 精品处破学生在线二十三| 欧美电影免费观看高清完整版在| 欧美成人aa大片| 久久久99精品久久| 国产精品久久夜| 日韩码欧中文字| 亚洲综合免费观看高清完整版在线| 亚洲精品中文在线影院| 亚洲午夜影视影院在线观看| 婷婷成人激情在线网| 奇米影视在线99精品| 国模大尺度一区二区三区| 国产在线一区观看| eeuss鲁片一区二区三区| 91丨porny丨在线| 欧美少妇一区二区| 26uuu精品一区二区| 欧美国产精品久久| 亚洲综合丝袜美腿| 久久99久久99精品免视看婷婷| 国产成人av福利| 在线欧美日韩国产| 欧美大度的电影原声| 国产精品丝袜在线| 五月激情综合婷婷| 国产精品中文字幕日韩精品| 93久久精品日日躁夜夜躁欧美| 欧美日韩国产综合一区二区| 久久这里只有精品首页| 亚洲免费观看在线观看| 蜜乳av一区二区| 91在线国产福利| 日韩视频国产视频| 一区二区三区加勒比av| 精品午夜一区二区三区在线观看| av在线播放一区二区三区| 欧美人牲a欧美精品| 国产精品无人区| 青青草国产精品97视觉盛宴| 97精品电影院| 久久久亚洲国产美女国产盗摄| 亚洲一区二区三区四区在线| 国产福利电影一区二区三区| 欧美日韩亚洲综合在线| 国产精品国产三级国产aⅴ中文| 日本不卡的三区四区五区| 一本色道久久综合亚洲精品按摩| 国产精品国产自产拍高清av王其 | 久久成人羞羞网站| av成人老司机| 久久久久国产精品麻豆| 免费观看在线色综合| 在线免费亚洲电影| 亚洲欧洲www| 懂色av中文一区二区三区| 精品日韩欧美在线| 蜜臀精品一区二区三区在线观看 | 精品国产一区二区三区忘忧草 | 国产精品萝li| 国产成人av影院| 亚洲精品在线免费播放| 久久国产精品免费| 欧美一卡2卡3卡4卡| 日韩高清不卡一区二区三区| 欧美日韩国产免费一区二区| 亚洲午夜久久久| 欧洲精品视频在线观看| 亚洲美女在线一区| 在线亚洲高清视频| 亚洲国产另类av| 欧美猛男男办公室激情| 亚洲444eee在线观看| 欧美视频完全免费看| 亚洲成人动漫精品| 欧美一区二视频| 精品一区二区三区视频在线观看| 精品少妇一区二区三区视频免付费| 蜜臀91精品一区二区三区| 日韩美女视频在线| 国产精品一区二区在线观看网站| 26uuu精品一区二区| 国产91在线|亚洲| 亚洲成人av免费| 884aa四虎影成人精品一区| 美女任你摸久久| 久久久久国色av免费看影院| gogo大胆日本视频一区| 亚洲影院理伦片| 日韩一区二区精品| 岛国av在线一区| 亚洲柠檬福利资源导航| 制服.丝袜.亚洲.另类.中文| 精品一区二区在线免费观看| 欧美激情资源网| 欧美性受极品xxxx喷水| 久久超碰97人人做人人爱| 日本一区二区三区dvd视频在线| 91麻豆免费看| 蜜桃视频一区二区| 国产精品福利av| 欧美日本一道本在线视频| 久久99精品国产91久久来源| 亚洲欧洲三级电影| 91精品国产色综合久久不卡蜜臀| 国产成人精品免费看| 亚洲综合丁香婷婷六月香| 欧美成人aa大片| 欧美亚洲国产一区二区三区va| 激情综合网av| 一区二区三区四区不卡视频| 欧美成人一区二区三区片免费 | 色哟哟精品一区| 另类欧美日韩国产在线| 自拍偷拍国产精品| 亚洲精品一区二区三区99| 色拍拍在线精品视频8848| 国产一区二区三区免费在线观看 | 日本sm残虐另类| 国产精品第四页| 精品日韩在线观看| 91精选在线观看| 日本精品一级二级| 懂色av噜噜一区二区三区av| 日本欧美肥老太交大片| 亚洲精品大片www| 国产欧美久久久精品影院 | 久久99在线观看| 婷婷丁香激情综合| 亚洲一本大道在线| 亚洲精品久久久久久国产精华液| 国产欧美日韩在线视频| 久久一日本道色综合| 欧美大尺度电影在线| 欧美一级一区二区| 欧美精品三级在线观看| 欧美视频中文字幕| 色呦呦国产精品| 91蜜桃在线观看| 91丨九色丨蝌蚪富婆spa| 成人动漫视频在线| 不卡视频免费播放| eeuss鲁片一区二区三区在线看| 国产成人av资源| 国产成人免费视频网站| 国产传媒一区在线| 成人一区在线看| 99视频在线观看一区三区| www.在线成人| 91女人视频在线观看| 色综合久久中文综合久久牛| 99久久婷婷国产综合精品| 99热精品一区二区| 色婷婷综合中文久久一本| 91一区二区三区在线观看| 91老师国产黑色丝袜在线| 色婷婷综合久久久久中文| 色噜噜狠狠成人中文综合| 在线精品视频免费播放| 欧美日韩激情一区二区三区| 欧美一级片在线看| 欧美精品一区二区三区蜜桃| 久久久久久久久伊人| 国产精品麻豆视频| 亚洲精品免费在线| 日韩高清不卡在线| 国产成人av影院| 欧美亚洲日本一区| 日韩欧美国产午夜精品| 国产日韩精品一区二区浪潮av| 中文字幕一区二区三区在线播放| 一区二区三区高清| 精品伊人久久久久7777人| caoporen国产精品视频| 欧美日韩在线亚洲一区蜜芽| 26uuu国产电影一区二区| 亚洲欧美在线视频观看| 日韩影视精彩在线| 国产99精品国产| 69堂精品视频| 中文字幕亚洲综合久久菠萝蜜| 亚洲国产日韩a在线播放| 国产激情一区二区三区四区| 欧美自拍丝袜亚洲|