确实的工作是可是串行化的

by admin on 2018年12月16日

  1哲学原理 1
  2哲学原理 2<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  3哲学原理 3
  4哲学原理 4<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>
  5哲学原理 5
  6哲学原理 6<head>
  7哲学原理 7
  8哲学原理 8<title>yui cookie Dynamically Change Text Size Using Javascript 动态设置字体大小,写副Cookie</title>
  9哲学原理 9
 10哲学原理 10<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
 11哲学原理 11<meta name=”description” content=”涂聚文,缔友总结机音信技术有限公司,经营消息流,物流,人力资源流,资本流的系解决方案的付出及统筹以及劳务,geoVI studio.Geovin Du. Systems Solution to Fund flow,and Information flow,and Material flow,and Control flow,and Human Resource.Applied software development,design and service。.”>
 12哲学原理 12<meta name=”description” content=”Study,Communicate。 “>
 13哲学原理 13<meta name=”Robots” content=”all index follow “>
 14哲学原理 14<meta name=”Author” content=”涂聚文” />
 15哲学原理 15<meta name=”keywords” content=”Chinea,Guangdong Province,Shenzhen city,Nanshan District,Hi-teach industry Park, geoVI studio,Geovin Du,Systems Solution.勝利は仕事部屋である貴方にご光来を賜ることを歓迎,the original affiliation, Jiangxi Province, the  Ji’an city, YongFeng coutry, Ouyang’s hometown.  Discussion forum, friend reason person, English, Japanese language, Korean language哲学原理 16  The music appreciation, Wan Nian calendar, the English  salon, the trade market, the information, the telecommunication  electron, the electric appliance, the currency foreign exchange, the  news, the book, by talk, the fable, the fairy tale, the novel, the  sketch philosophy, the philosophy, the national studies, the poem, the word, the prose, the tune, manages the creativity, the software  technology, sound, the picture, the image data warehouse, C++, C.NET,  WEB,JAVA, J2EE XML, the HTML, software engineering, the physiological,  keeping in good health, the traveling, lives,geocVi のスタジオはgeovindu, 中国のGuangdong の地 域,Shenzhen のNanShan 地区すなわち高く新しい技術的な企業の 開発の地帯すなわち元の加入すなわちJiangxi の地域すなわち Ji’an 都市, 故郷coutry YongFeng Ouyang’s のへ, あな たを歓迎する。議論のフォーラムすなわち友人の理由人,  英語す なわち日本語の言語すなわち韓国語の言語は哲学原理 17 音楽感謝すなわ ちNian の弱々しいカレンダーすなわち英帝国の大広間すなわち貿易 市場すなわち情報すなわちテレコミュニケーションの電子すなわ ち電気電気器具すなわち通貨の外国為替すなわちニュースすなわ ち本, 話によって, fable のおとぎ話すなわち小説すなわちスケ ッチの文学すなわち经济学は, 国民調査する, 詩すなわち単語すな わち小说すなわち調子, 管理する創造性すなわちソフトウェア技 術すなわち音すなわち映像すなわちイメージ・データの倉庫 , C++, C.NET  の網, ジャワ, J2EE XML, html のよい健康すなわ ち移動, 生命で保つソフトウエア教育学すなわち生农学を,®geoVI 일 방 ™고향 geocVi 스튜디오는 geovindu, 중국 의  Guangdong 지방, Shenzhen 의 NanShan 지역, 높은 새로운 기술 적인 공업 발달 지역, 원래 affiliation, Jiangxi 지방 , Ji’an 도시, coutry  YongFeng, Ouyang’s에, 너를 환 영한다.  면담 공개토론, 친구 이유 사람, 영어, 일본 언어, 한 국 언어는哲学原理 18  음악 감사, Nian 병약한 달력, 영국 살롱, 무역  시장, 정보, 원거리 통신 전자, 전기기구, 통화 외국 교환, 뉴 스, 책, 이야기의옆에,fable 의 요전같은 총계, 소설, 밑그림  철학,  철학은, 동포 공부한다, 시, 낱말, 산문, 곡,  처리한다  독창성, 소프트웨어 기술, 소리, 그림,심상 자료 창고 , C++, C.NET 의 웨브, 자바, J2EE  XML, HTML 의 건강, 여행,  일생안에 지키는 소프트웨어 기술설계, 생리를”>
 16哲学原理 19        <link rel=”stylesheet” href=”css/style.css” type=”text/css”>
 17哲学原理 20        <link rel=”stylesheet” href=”css/shadow.css” type=”text/css”>
 18哲学原理 21<link rel=”shortcut icon” href=”http://www.dupcit.com/favicon.ico” type=”image/x-icon” />
 19哲学原理 22<link rel=”icon” href=”http://www.dupcit.com/favicon.ico” type=”image/ico” />
 20哲学原理 23<link rel=”Bookmark” href=”http://www.dupcit.com/favicon.ico"&gt
 21哲学原理 24</head>
 22哲学原理 25
 23哲学原理 26<body>
 24哲学原理 27
 25哲学原理 28<div><img src=”A+.gif” alt=”increase font size” id=”increaseFont” /></div>
 26哲学原理 29
 27哲学原理 30<div><img src=”A-.gif” alt=”decrease font size” id=”decreaseFont” /></div>
 28哲学原理 31
 29哲学原理 32<div id=”news-main”>
 30哲学原理 33
 31哲学原理 34Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sit amet metus.
 32哲学原理 35
 33哲学原理 36Nunc quam elit, posuere nec, auctor in, rhoncus quis, dui. Aliquam erat volutpat. Ut dignissim, massa
 34哲学原理 37
 35哲学原理 38</div>
 36哲学原理 39
 37哲学原理 40 
 38哲学原理 41
 39哲学原理 42<!– js –>
 40哲学原理 43
 41哲学原理 44<script type=”text/javascript” src=”yahoo-dom-event/yahoo-dom-event.js”></script>
 42哲学原理 45
 43哲学原理 46<script type=”text/javascript” src=”cookie/cookie-beta-min.js”></script>
 44哲学原理 47
 45哲学原理 48<!– /js –>
 46哲学原理 49
 47哲学原理 50 
 48哲学原理 51
 49哲学原理 52<script type=”text/javascript”>
 50哲学原理 53// 涂聚文 缔友统计机音信技术有限公司 版权所有
 51哲学原理 54哲学原理 55var updateFontSize = function(o, params)哲学原理 56{
 52哲学原理 57
 53哲学原理 58哲学原理 59try哲学原理 60{
 54哲学原理 61
 55哲学原理 62哲学原理 63if(params.type == ‘increase’)哲学原理 64{
 56哲学原理 65
 57哲学原理 66newSize = parseInt(YAHOO.util.Dom.getStyle(params.id, ‘font-size’), 10) + 1;
 58哲学原理 67
 59哲学原理 68}
 60哲学原理 69
 61哲学原理 70哲学原理 71else哲学原理 72{
 62哲学原理 73
哲学原理, 63哲学原理 74newSize = parseInt(YAHOO.util.Dom.getStyle(params.id, ‘font-size’), 10) – 1;
 64哲学原理 75
 65哲学原理 76}
 66哲学原理 77
 67哲学原理 78 
 68哲学原理 79
 69哲学原理 80YAHOO.util.Dom.setStyle(params.id, ‘font-size’, newSize + ‘px’);
 70哲学原理 81
 71哲学原理 82哲学原理 83YAHOO.util.Cookie.set(“news-size”, newSize, 哲学原理 84{ path: “/”, expires: new Date(“December 22, 2010”) });
 72哲学原理 85
 73哲学原理 86}
 74哲学原理 87
 75哲学原理 88哲学原理 89catch(e)哲学原理 90{}
 76哲学原理 91
 77哲学原理 92};
 78哲学原理 93
 79哲学原理 94 
 80哲学原理 95
 81哲学原理 96哲学原理 97YAHOO.util.Event.addListener(‘increaseFont’, ‘click’, updateFontSize, 哲学原理 98{“id” : ‘news-main’, “type” : ‘increase’});
 82哲学原理 99
 83哲学原理 100哲学原理 101YAHOO.util.Event.addListener(‘decreaseFont’, ‘click’, updateFontSize, 哲学原理 102{“id” : ‘news-main’, “type” : ‘decrease’});
 84哲学原理 103
 85哲学原理 104哲学原理 105YAHOO.util.Event.addListener(window, ‘load’, function()哲学原理 106{
 86哲学原理 107
 87哲学原理 108哲学原理 109try哲学原理 110{
 88哲学原理 111
 89哲学原理 112哲学原理 113var newsSize = YAHOO.util.Cookie.get(“news-size”, function(value)哲学原理 114{
 90哲学原理 115
 91哲学原理 116YAHOO.util.Dom.setStyle(‘news-main’, ‘font-size’, value + ‘px’);
 92哲学原理 117
 93哲学原理 118});
 94哲学原理 119
 95哲学原理 120}
 96哲学原理 121
 97哲学原理 122哲学原理 123catch(e)哲学原理 124{}
 98哲学原理 125
 99哲学原理 126});
100哲学原理 127
101哲学原理 128</script>
102哲学原理 129
103哲学原理 130</body>
104哲学原理 131
105哲学原理 132</html>

形容在头里

正文是相同首CockroachDB官方博客的译文,紧要演讲数据库实现串行化隔离的必要性。关于业务隔离性,伊凡曾经在“分布式数据库的务隔离性”中于理论方面展开过系统的介绍,本文则是于数据库厂商的角度来阐释对隔离性的敞亮,我们可以拿有限首稿子做起来,对隔离性有更为全面客观的理解。CockroachDB的见识是率先保证安全性而继追求高性能,所以花费了深分外精力贯彻Serializable Snapshot Isolation,是当前最好少之出实用价值的SERIALIZABLE实现。当然,业界为有厂商对而串行化方面投入的必要性持不同意见。伊凡揣度CockroachDB的见识可能是丁了PostgreSQL的震慑,毕竟后者是首先扶助Serializable Snapshot Isolation的商业数据库,并且CockroachDB在SQL层面为是盖卓殊PostgreSQL为目标。

 

正文

绝大多数数据库都提供了政工隔离级其余选项,可以于正确和特性之间开展衡量。可是,高性能的代价就是是开发人士必须小心研究业务交互否则就会见引入一些神秘之缪。CockroachDB
默认提供了强隔离(SERIALIZABLE)可以包您的利用总是看梦想的多寡。在本文中我们将表达登时表示什么和不充分的隔断在安影响真实世界的行使。

cookie-beta-min.js   code:

SQL标准被的隔离性

SQL标准定义五只隔离级别

  • SERIALIZABLE

  • REPEATED READ

  • READ COMMITTED

  • READ UNCOMMITTED

SERIALIZABLE事务运行时类似在同样时刻才来一个政工运行;其他隔离级别允许出现SQL标准称作的“两种植phenomena”脏读、不可再读、幻读。后续的钻(此处指Critique,伊凡(Ivan)在篇章“分布式数据库的务隔离性”中既开展了介绍)定义了额外的“phenomena”和隔离级别。
于现世钻探着,这一个“phenomena”更普遍为誉为“anomalies”,或者重新直接叫”lies”。当您采用一个请勿SERIALIZABLE断级别时,你是当兴数据库重临错误答案,希望它们亦可比对答案再快。SQL标准看就是惊险的,需要SERIALIZABLE置为默认的割裂级别。更弱的隔断级别只是也这多少个可以忍受“anomalies”的使提供了隐秘的优化手段。

 

真实数据库中之隔离性

大部底数据库忽略了拿 SERIALIZABLE
作为默认隔离级另外准则,而是默认替换为重复弱的RCRR隔断级别,它们的特性优先为安全性。更令人担心的是,一些数据库(包括Oracle,PostgreSQL
V9.1原先)根本未提供 SERIALIZABLE 级其它事情隔离。Oracle实现之
SERIALIZABLE
隔离级别实际上是重新弱的“Snapshot Isolation”。Snapshot Isolation(快照隔离,简称SI)的面世晚于SQL标准的创设,不过已经为多数据库系统贯彻,因为她提供了颇好的性能与一致性的平衡。它强被RC但弱于
SERIALIZABLE
,很类似RR可无全同(RR兴幻读,但不准写偏序,SI还好反而)。实现SI的数据库,在什么将该纳入到四单SQL标准隔离级别达到闹不同之选用。Oracle的采纳最好激进,直接拿他们之SI心想事成叫
SERIALIZABLE 。CockroachDB 和SQL
Server则保守一些,将SI当单身的第五独隔离级别。PostgreSQL(9.1版后)介于两者之间,使用SI替换了RR。因为数据库很少用
SERIALIZABLE
模式,而是默认使用更弱的隔断级别,所以她便非常少经过到底的测试与优化。例如PostgreSQL有一个一定大小的内存池,用来跟而串行化事务间的冲,但于胜负荷情况下会耗尽。
大多数的数据库厂商将再也胜之事情隔离作为给应用程序的一个非同经常选项用于应本着额外的一致性需求。多数应用程序被看好运行于再一次快但未安全的弱隔离形式下。这种拍卖问题之向下模式导致将应用程序表露在大气分寸的bug中。在Cockroach
Labs,咱们喜爱思考事务anomalies,以至于我们为此其来命名会议室。但自特别为难来信念之指出何时选拔
SI 替代 SERIALIZABLE 是安好之。
俺们的农学是于安全性出发往方高性能方向前进,这是于此外办法更美的。

1哲学原理 133哲学原理 134/**//*
2哲学原理 135Copyright (c) 2008, Yahoo! Inc. All rights reserved.
3哲学原理 136Code licensed under the BSD License:
4哲学原理 137http://developer.yahoo.net/yui/license.txt
5哲学原理 138version: 2.5.2
6哲学原理 139*/
7哲学原理 140哲学原理 141YAHOO.namespace(“util”);YAHOO.util.Cookie=哲学原理 142{_createCookieString:function(B,D,C,A)哲学原理 143{var F=YAHOO.lang;var E=encodeURIComponent(B)+”=”+(C?encodeURIComponent(D):D);if(F.isObject(A))哲学原理 144{if(A.expires instanceof Date)哲学原理 145{E+=”; expires=”+A.expires.toGMTString();}if(F.isString(A.path)&&A.path!=””)哲学原理 146{E+=”; path=”+A.path;}if(F.isString(A.domain)&&A.domain!=””)哲学原理 147{E+=”; domain=”+A.domain;}if(A.secure===true)哲学原理 148{E+=”; secure”;}}return E;},_createCookieHashString:function(B)哲学原理 149{var D=YAHOO.lang;if(!D.isObject(B))哲学原理 150{throw new TypeError(“Cookie._createCookieHashString(): Argument must be an object.”);}var C=new Array();for(var A in B)哲学原理 151{if(D.hasOwnProperty(B,A)&&!D.isFunction(B[A])&&!D.isUndefined(B[A]))哲学原理 152{C.push(encodeURIComponent(A)+”=”+encodeURIComponent(String(B[A])));}}return C.join(“&”);},_parseCookieHash:function(E)哲学原理 153{var D=E.split(“&”);var F=null;var C=new Object();for(var B=0,A=D.length;B<A;B++)哲学原理 154{F=D[B].split(“=”);C[decodeURIComponent(F[0])]=decodeURIComponent(F[1]);}return C;},_parseCookieString:function(I,A)哲学原理 155{var J=new Object();if(YAHOO.lang.isString(I)&&I.length>0)哲学原理 156{var B=(A===false?function(K)哲学原理 157{return K;}:decodeURIComponent);if(/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(I))哲学原理 158{var G=I.split(/;\s/g);var H=null;var C=null;var E=null;for(var D=0,F=G.length;D<F;D++)哲学原理 159{E=G[D].match(/([^=]+)=/i);if(E instanceof Array)哲学原理 160{H=decodeURIComponent(E[1]);C=B(G[D].substring(H.length+1));}else哲学原理 161{H=decodeURIComponent(G[D]);C=H;}J[H]=C;}}}return J;},get:function(A,B)哲学原理 162{var D=YAHOO.lang;var C=this._parseCookieString(document.cookie);if(!D.isString(A)||A===””)哲学原理 163{throw new TypeError(“Cookie.get(): Cookie name must be a non-empty string.”);}if(D.isUndefined(C[A]))哲学原理 164{return null;}if(!D.isFunction(B))哲学原理 165{return C[A];}else哲学原理 166{return B(C[A]);}},getSub:function(A,C,B)哲学原理 167{var E=YAHOO.lang;var D=this.getSubs(A);if(D!==null)哲学原理 168{if(!E.isString(C)||C===””)哲学原理 169{throw new TypeError(“Cookie.getSub(): Subcookie name must be a non-empty string.”);}if(E.isUndefined(D[C]))哲学原理 170{return null;}if(!E.isFunction(B))哲学原理 171{return D[C];}else哲学原理 172{return B(D[C]);}}else哲学原理 173{return null;}},getSubs:function(A)哲学原理 174{if(!YAHOO.lang.isString(A)||A===””)哲学原理 175{throw new TypeError(“Cookie.getSubs(): Cookie name must be a non-empty string.”);}var B=this._parseCookieString(document.cookie,false);if(YAHOO.lang.isString(B[A]))哲学原理 176{return this._parseCookieHash(B[A]);}return null;},remove:function(B,A)哲学原理 177{if(!YAHOO.lang.isString(B)||B===””)哲学原理 178{throw new TypeError(“Cookie.remove(): Cookie name must be a non-empty string.”);}A=A||哲学原理 179{};A.expires=new Date(0);return this.set(B,””,A);},set:function(B,C,A)哲学原理 180{var E=YAHOO.lang;if(!E.isString(B))哲学原理 181{throw new TypeError(“Cookie.set(): Cookie name must be a string.”);}if(E.isUndefined(C))哲学原理 182{throw new TypeError(“Cookie.set(): Value cannot be undefined.”);}var D=this._createCookieString(B,C,true,A);document.cookie=D;return D;},setSub:function(B,D,C,A)哲学原理 183{var F=YAHOO.lang;if(!F.isString(B)||B===””)哲学原理 184{throw new TypeError(“Cookie.setSub(): Cookie name must be a non-empty string.”);}if(!F.isString(D)||D===””)哲学原理 185{throw new TypeError(“Cookie.setSub(): Subcookie name must be a non-empty string.”);}if(F.isUndefined(C))哲学原理 186{throw new TypeError(“Cookie.setSub(): Subcookie value cannot be undefined.”);}var E=this.getSubs(B);if(!F.isObject(E))哲学原理 187{E=new Object();}E[D]=C;return this.setSubs(B,E,A);},setSubs:function(B,C,A)哲学原理 188{var E=YAHOO.lang;if(!E.isString(B))哲学原理 189{throw new TypeError(“Cookie.setSubs(): Cookie name must be a string.”);}if(!E.isObject(C))哲学原理 190{throw new TypeError(“Cookie.setSubs(): Cookie value must be an object.”);}var D=this._createCookieString(B,this._createCookieHashString(C),false,A);document.cookie=D;return D;}};YAHOO.register(“cookie”,YAHOO.util.Cookie,哲学原理 191{version:”2.5.2″,build:”1076″});

ACIDRain:发现事务Bug

加州圣地亚哥分校如今之研商展现了弱隔离性对真实世界之震慑程度。 Todd Warszawski and
PeterBailis测试了12独电子商务应用程序并发现了22个业务相关的Bug,其中5单以又强之隔断级别下好防止。多数bug可以叫概括得动并促成财务方面的震慑。例如,在5单为测试的应用程序中,当操作一个浏览器举行结算的还要,操作另一个浏览器为购物车扩充一宗商品,可能造成新增的货在账单遭免费。那些探讨人口开发工具以半自动化的法去确定这多少个脆弱点,为接近的复宽广的抨击(探究者将该称为ACIDRain
“酸雨”)铺平了征途。
大部默认弱隔离的数据库都提供了化解办法,例如 FOR UPDATE
LOCK IN SHARE MODE
(非标准语法)作为SQL语句之修饰符。当是采取时,即便在弱隔离级别下,那些修饰符也得以要业务安全。可是,这大易失误,而且就是应用这一个扩充格局,也会面又引入
SERIALIZABLE 形式大多数之通病。(事实上,在RC业务中滥用
SELECT FOR UPDATE可以导致比 SERIALIZABLE
更不比之习性,因为以这些串行化操作的地点可以单独以共享锁,却使了解除他锁)
ACIDRain的钻显示了这种技能之局限性:3个应用程序中仅发生一个不易使用了
SELECT FOR UPDATE特性,其他多少个都是漏洞。

 

结论

鼓励弱隔离级别(性能优先给数安全性)的数据库,让您去学学工作中轻的互相并贯彻易错的解决措施。CockroachDB默认提供了
SERIALIZABLE 事务,确保总能看到你所企望的业务数据库的一致性
原来文链接 https://www.cockroachlabs.com/blog/acid-rain/

yahoo-dom-event.js code:

 

 1哲学原理 192哲学原理 193/**//*
 2哲学原理 194Copyright (c) 2008, Yahoo! Inc. All rights reserved.
 3哲学原理 195Code licensed under the BSD License:
 4哲学原理 196http://developer.yahoo.net/yui/license.txt
 5哲学原理 197version: 2.5.2
 6哲学原理 198*/
 7哲学原理 199哲学原理 200if(typeof YAHOO==”undefined”||!YAHOO)哲学原理 201{var YAHOO=哲学原理 202{};}YAHOO.namespace=function()哲学原理 203{var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1)哲学原理 204{D=A[C].split(“.”);E=YAHOO;for(B=(D[0]==”YAHOO”)?1:0;B<D.length;B=B+1)哲学原理 205{E[D[B]]=E[D[B]]||哲学原理 206{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C)哲学原理 207{var B=YAHOO.widget.Logger;if(B&&B.log)哲学原理 208{return B.log(D,A,C);}else哲学原理 209{return false;}};YAHOO.register=function(A,E,D)哲学原理 210{var I=YAHOO.env.modules;if(!I[A])哲学原理 211{I[A]=哲学原理 212{versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1)哲学原理 213{F[C](B);}if(E)哲学原理 214{E.VERSION=H;E.BUILD=G;}else哲学原理 215{YAHOO.log(“mainClass is undefined for module “+A,”warn”);}};YAHOO.env=YAHOO.env||哲学原理 216{modules:[],listeners:[]};YAHOO.env.getVersion=function(A)哲学原理 217{return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function()哲学原理 218{var C=哲学原理 219{ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B))哲学原理 220{C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile=”Apple”;}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace(“util”,”widget”,”example”);if(“undefined”!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=[“toString”,”valueOf”],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D===”boolean”;},isFunction:function(D){return typeof D===”function”;},isNull:function(D){return D===null;},isNumber:function(D){return typeof D===”number”&&isFinite(D);},isObject:function(D){return(D&&(typeof D===”object”||A.isFunction(D)))||false;},isString:function(D){return typeof D===”string”;},isUndefined:function(D){return typeof D===”undefined”;},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error(“extend failed, please check that “+”all dependencies are included.”);}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error(“Absorb failed, verify dependencies.”);}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error(“Augment failed, verify dependencies.”);}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L=”{哲学原理 221}”,E=”f(){哲学原理 222}”,J=”, “,G=” => “;if(!A.isObject(D)){return D+””;}else{if(D instanceof Date||(“nodeType” in D&&”tagName” in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push(“[“);for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push(“]”);}else{K.push(“{“);for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push(“}”);}return K.join(“”);},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J=”dump”,M=” “,D=”{“,Q=”}”;for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||””;var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P=”~-“+N.length+”-~”;N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp(“~-“+I+”-~”),”{“+N[I]+”}”,”g”);}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,””);}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError(“method undefined”);}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register(“yahoo”,YAHOO,{version:”2.5.2″,build:”1076″});(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp(“(?:^|\\s+)”+Q+”(?:\\s+|$)”);F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S==”float”){S=”cssFloat”;}var Q=P.ownerDocument.defaultView.getComputedStyle(P,””);if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case”opacity”:var T=100;try{T=P.filters[“DXImageTransform.Microsoft.Alpha”].opacity;}catch(S){try{T=P.filters(“alpha”).opacity;}catch(S){}}return T/100;case”float”:R=”styleFloat”;default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case”opacity”:if(YAHOO.lang.isString(P.style.filter)){P.style.filter=”alpha(opacity=”+R*100+”)”;if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case”float”:Q=”styleFloat”;default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q==”float”){Q=”cssFloat”;}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,”display”)==”none”)&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,”position”);if(U==”static”){this.setStyle(V,”position”,”relative”);U=”relative”;}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,”left”),10),parseInt(this.getStyle(V,”top”),10)];if(isNaN(W[0])){W[0]=(U==”relative”)?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U==”relative”)?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+”px”;}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+”px”;}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,”display”)==”none”)&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||”*”;U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(” “));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P,” “);if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R,” “+P+” “);if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||”yui-gen”;var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||”*”;R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!=”CSS1Compat”)?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!=”CSS1Compat”)?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
 8哲学原理 223哲学原理 224var Q=M.compatMode;if((Q||G)&&!C)哲学原理 225{P=(Q==”CSS1Compat”)?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function()哲学原理 226{var P=self.innerWidth;var Q=M.compatMode;if(Q||G)哲学原理 227{P=(Q==”CSS1Compat”)?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q)哲学原理 228{while(P=P.parentNode)哲学原理 229{if(D(P,Q))哲学原理 230{return P;}}return null;},getAncestorByClassName:function(Q,P)哲学原理 231{Q=B.Dom.get(Q);if(!Q)哲学原理 232{return null;}var R=function(S)哲学原理 233{return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P)哲学原理 234{Q=B.Dom.get(Q);if(!Q)哲学原理 235{return null;}var R=function(S)哲学原理 236{return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q)哲学原理 237{while(P)哲学原理 238{P=P.previousSibling;if(D(P,Q))哲学原理 239{return P;}}return null;},getPreviousSibling:function(P)哲学原理 240{P=B.Dom.get(P);if(!P)哲学原理 241{return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q)哲学原理 242{while(P)哲学原理 243{P=P.nextSibling;if(D(P,Q))哲学原理 244{return P;}}return null;},getNextSibling:function(P)哲学原理 245{P=B.Dom.get(P);if(!P)哲学原理 246{return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R)哲学原理 247{var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q)哲学原理 248{P=B.Dom.get(P);if(!P)哲学原理 249{return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R)哲学原理 250{if(!P)哲学原理 251{return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P)哲学原理 252{P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S)哲学原理 253{var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T)哲学原理 254{if(!S||S(T))哲学原理 255{P[P.length]=T;}return false;});return P;},getChildren:function(P)哲学原理 256{P=B.Dom.get(P);if(!P)哲学原理 257{}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P)哲学原理 258{P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P)哲学原理 259{P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P)哲学原理 260{Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode)哲学原理 261{return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P)哲学原理 262{Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode)哲学原理 263{return null;}if(P.nextSibling)哲学原理 264{return P.parentNode.insertBefore(Q,P.nextSibling);}else哲学原理 265{return P.parentNode.appendChild(Q);}},getClientRegion:function()哲学原理 266{var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function()哲学原理 267{if(M.documentElement.getBoundingClientRect)哲学原理 268{return function(Q)哲学原理 269{var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else哲学原理 270{return function(R)哲学原理 271{var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,”position”)==”absolute”&&R.offsetParent==R.ownerDocument.body);if(Q!=R)哲学原理 272{while(Q)哲学原理 273{S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,”position”)==”absolute”)哲学原理 274{P=true;}Q=Q.offsetParent;}}if(P)哲学原理 275{S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName))哲学原理 276{if(Q.scrollTop||Q.scrollLeft)哲学原理 277{if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,”display”)))哲学原理 278{if(!C||B.Dom.getStyle(Q,”overflow”)!==”visible”)哲学原理 279{S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B)哲学原理 280{this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A)哲学原理 281{return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function()哲学原理 282{return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E)哲学原理 283{var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B)哲学原理 284{return new YAHOO.util.Region(C,D,A,B);}else哲学原理 285{return null;}};YAHOO.util.Region.prototype.union=function(E)哲学原理 286{var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function()哲学原理 287{return(“Region {“+”top: “+this.top+”, right: “+this.right+”, bottom: “+this.bottom+”, left: “+this.left+”}”);};YAHOO.util.Region.getRegion=function(D)哲学原理 288{var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B)哲学原理 289{if(YAHOO.lang.isArray(A))哲学原理 290{B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register(“dom”,YAHOO.util.Dom,哲学原理 291{version:”2.5.2″,build:”1076″});YAHOO.util.CustomEvent=function(D,B,C,A)哲学原理 292{this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent)哲学原理 293{}var E=”_YUICEOnSubscribe”;if(D!==E)哲学原理 294{this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype=哲学原理 295{subscribe:function(B,C,A)哲学原理 296{if(!B)哲学原理 297{throw new Error(“Invalid callback for subscriber to ‘”+this.type+”‘”);}if(this.subscribeEvent)哲学原理 298{this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F)哲学原理 299{if(!D)哲学原理 300{return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B)哲学原理 301{var C=this.subscribers[B];if(C&&C.contains(D,F))哲学原理 302{this._delete(B);E=true;}}return E;},fire:function()哲学原理 303{this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent)哲学原理 304{return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent)哲学原理 305{}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D)哲学原理 306{var M=C[D];if(!M)哲学原理 307{J=true;}else哲学原理 308{if(!this.silent)哲学原理 309{}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT)哲学原理 310{var B=null;if(I.length>0)哲学原理 311{B=I[0];}try哲学原理 312{G=M.fn.call(L,B,M.obj);}catch(F)哲学原理 313{this.lastError=F;if(A)哲学原理 314{throw F;}}}else哲学原理 315{try哲学原理 316{G=M.fn.call(L,this.type,I,M.obj);}catch(H)哲学原理 317{this.lastError=H;if(A)哲学原理 318{throw H;}}}if(false===G)哲学原理 319{if(!this.silent)哲学原理 320{}break;}}}return(G!==false);},unsubscribeAll:function()哲学原理 321{for(var A=this.subscribers.length-1;A>-1;A–)哲学原理 322{this._delete(A);}this.subscribers=[];return A;},_delete:function(A)哲学原理 323{var B=this.subscribers[A];if(B)哲学原理 324{delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function()哲学原理 325{return”CustomEvent: “+”‘”+this.type+”‘, “+”scope: “+this.scope;}};YAHOO.util.Subscriber=function(B,C,A)哲学原理 326{this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A)哲学原理 327{if(this.override)哲学原理 328{if(this.override===true)哲学原理 329{return this.obj;}else哲学原理 330{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B)哲学原理 331{if(B)哲学原理 332{return(this.fn==A&&this.obj==B);}else哲学原理 333{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function()哲学原理 334{return”Subscriber { obj: “+this.obj+”, override: “+(this.override||”no”)+” }”;};if(!YAHOO.util.Event)哲学原理 335{YAHOO.util.Event=function()哲学原理 336{var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D=哲学原理 337{63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return哲学原理 338{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function()哲学原理 339{if(!this._interval)哲学原理 340{var K=this;var L=function()哲学原理 341{K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N)哲学原理 342{var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1)哲学原理 343{F.push(哲学原理 344{id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L)哲学原理 345{this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L)哲学原理 346{if(this.DOMReady)哲学原理 347{setTimeout(function()哲学原理 348{var N=window;if(L)哲学原理 349{if(L===true)哲学原理 350{N=M;}else哲学原理 351{N=L;}}K.call(N,”DOMReady”,[],M);},0);}else哲学原理 352{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L)哲学原理 353{if(!V||!V.call)哲学原理 354{return false;}if(this._isValidCollection(M))哲学原理 355{var W=true;for(var R=0,T=M.length;R<T;++R)哲学原理 356{W=this.on(M[R],K,V,Q,L)&&W;}return W;}else哲学原理 357{if(YAHOO.lang.isString(M))哲学原理 358{var P=this.getEl(M);if(P)哲学原理 359{M=P;}else哲学原理 360{this.onAvailable(M,function()哲学原理 361{YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M)哲学原理 362{return false;}if(“unload”==K&&Q!==this)哲学原理 363{J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L)哲学原理 364{if(L===true)哲学原理 365{Y=Q;}else哲学原理 366{Y=L;}}var N=function(Z)哲学原理 367{return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K))哲学原理 368{var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0])哲学原理 369{O=G.length;B[M.id+K]=O;G[O]=[M,K,M[“on”+K]];E[O]=[];M[“on”+K]=function(Z)哲学原理 370{YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else哲学原理 371{try哲学原理 372{this._simpleAdd(M,K,N,false);}catch(U)哲学原理 373{this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M)哲学原理 374{var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L)哲学原理 375{R=S[L];if(R&&R[this.WFN])哲学原理 376{T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2])哲学原理 377{K[2](O);}return Q;},getLegacyIndex:function(L,M)哲学原理 378{var K=this.generateId(L)+M;if(typeof B[K]==”undefined”)哲学原理 379{return -1;}else哲学原理 380{return B[K];}},useLegacyEvent:function(L,M)哲学原理 381{if(this.webkit&&(“click”==M||”dblclick”==M))哲学原理 382{var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418)哲学原理 383{return true;}}return false;},removeListener:function(L,K,T)哲学原理 384{var O,R,V;if(typeof L==”string”)哲学原理 385{L=this.getEl(L);}else哲学原理 386{if(this._isValidCollection(L))哲学原理 387{var U=true;for(O=L.length-1;O>-1;O–)哲学原理 388{U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call)哲学原理 389{return this.purgeElement(L,false,K);}if(“unload”==K)哲学原理 390{for(O=J.length-1;O>-1;O–)哲学原理 391{V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T)哲学原理 392{J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if(“undefined”===typeof Q)哲学原理 393{Q=this._getCacheIndex(L,K,T);}if(Q>=0)哲学原理 394{P=I[Q];}if(!L||!P)哲学原理 395{return false;}if(this.useLegacyEvent(L,K))哲学原理 396{var N=this.getLegacyIndex(L,K);var M=E[N];if(M)哲学原理 397{for(O=0,R=M.length;O<R;++O)哲学原理 398{V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T)哲学原理 399{M.splice(O,1);break;}}}}else哲学原理 400{try哲学原理 401{this._simpleRemove(L,K,P[this.WFN],false);}catch(S)哲学原理 402{this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L)哲学原理 403{var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L)哲学原理 404{try哲学原理 405{if(L&&3==L.nodeType)哲学原理 406{return L.parentNode;}}catch(K)哲学原理 407{}return L;},getPageX:function(L)哲学原理 408{var K=L.pageX;if(!K&&0!==K)哲学原理 409{K=L.clientX||0;if(this.isIE)哲学原理 410{K+=this._getScrollLeft();}}return K;},getPageY:function(K)哲学原理 411{var L=K.pageY;if(!L&&0!==L)哲学原理 412{L=K.clientY||0;if(this.isIE)哲学原理 413{L+=this._getScrollTop();}}return L;
 9哲学原理 414哲学原理 415},getXY:function(K)哲学原理 416{return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L)哲学原理 417{var K=L.relatedTarget;if(!K)哲学原理 418{if(L.type==”mouseout”)哲学原理 419{K=L.toElement;}else哲学原理 420{if(L.type==”mouseover”)哲学原理 421{K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M)哲学原理 422{if(!M.time)哲学原理 423{var L=new Date().getTime();try哲学原理 424{M.time=L;}catch(K)哲学原理 425{this.lastError=K;return L;}}return M.time;},stopEvent:function(K)哲学原理 426{this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K)哲学原理 427{if(K.stopPropagation)哲学原理 428{K.stopPropagation();}else哲学原理 429{K.cancelBubble=true;}},preventDefault:function(K)哲学原理 430{if(K.preventDefault)哲学原理 431{K.preventDefault();}else哲学原理 432{K.returnValue=false;}},getEvent:function(M,K)哲学原理 433{var L=M||window.event;if(!L)哲学原理 434{var N=this.getEvent.caller;while(N)哲学原理 435{L=N.arguments[0];if(L&&Event==L.constructor)哲学原理 436{break;}N=N.caller;}}return L;},getCharCode:function(L)哲学原理 437{var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D))哲学原理 438{K=D[K];}return K;},_getCacheIndex:function(O,P,N)哲学原理 439{for(var M=0,L=I.length;M<L;M=M+1)哲学原理 440{var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P)哲学原理 441{return M;}}return -1;},generateId:function(K)哲学原理 442{var L=K.id;if(!L)哲学原理 443{L=”yuievtautoid-“+A;++A;K.id=L;}return L;},_isValidCollection:function(L)哲学原理 444{try哲学原理 445{return(L&&typeof L!==”string”&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!==”undefined”);}catch(K)哲学原理 446{return false;}},elCache:哲学原理 447{},getEl:function(K)哲学原理 448{return(typeof K===”string”)?document.getElementById(K):K;},clearCache:function()哲学原理 449{},DOMReadyEvent:new YAHOO.util.CustomEvent(“DOMReady”,this),_load:function(L)哲学原理 450{if(!H)哲学原理 451{H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L)哲学原理 452{var K=YAHOO.util.Event;if(!K.DOMReady)哲学原理 453{K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,”DOMContentLoaded”,K._ready);}},_tryPreloadAttach:function()哲学原理 454{if(F.length===0)哲学原理 455{C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked)哲学原理 456{return ;}if(this.isIE)哲学原理 457{if(!this.DOMReady)哲学原理 458{this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q)哲学原理 459{Q=(C>0&&F.length>0);}var P=[];var R=function(T,U)哲学原理 460{var S=T;if(U.override)哲学原理 461{if(U.override===true)哲学原理 462{S=U.obj;}else哲学原理 463{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1)哲学原理 464{O=F[L];if(O)哲学原理 465{N=this.getEl(O.id);if(N)哲学原理 466{if(O.checkReady)哲学原理 467{if(H||N.nextSibling||!Q)哲学原理 468{M.push(O);F[L]=null;}}else哲学原理 469{R(N,O);F[L]=null;}}else哲学原理 470{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1)哲学原理 471{O=M[L];R(this.getEl(O.id),O);}C–;if(Q)哲学原理 472{for(L=F.length-1;L>-1;L–)哲学原理 473{O=F[L];if(!O||!O.id)哲学原理 474{F.splice(L,1);}}this.startInterval();}else哲学原理 475{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R)哲学原理 476{var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q)哲学原理 477{for(N=Q.length-1;N>-1;N–)哲学原理 478{var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes)哲学原理 479{for(N=0,K=M.childNodes.length;N<K;++N)哲学原理 480{this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K)哲学原理 481{var P=[],L;if(!K)哲学原理 482{L=[I,J];}else哲学原理 483{if(K===”unload”)哲学原理 484{L=[J];}else哲学原理 485{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1)哲学原理 486{var T=L[O];if(T)哲学原理 487{for(var Q=0,S=T.length;Q<S;++Q)哲学原理 488{var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE]))哲学原理 489{P.push(哲学原理 490{type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q)哲学原理 491{var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N)哲学原理 492{L=R[N];if(L)哲学原理 493{var S=window;if(L[K.ADJ_SCOPE])哲学原理 494{if(L[K.ADJ_SCOPE]===true)哲学原理 495{S=L[K.UNLOAD_OBJ];}else哲学原理 496{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I)哲学原理 497{for(M=I.length-1;M>-1;M–)哲学原理 498{L=I[M];if(L)哲学原理 499{K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,”unload”,K._unload);},_getScrollLeft:function()哲学原理 500{return this._getScroll()[1];},_getScrollTop:function()哲学原理 501{return this._getScroll()[0];},_getScroll:function()哲学原理 502{var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft))哲学原理 503{return[K.scrollTop,K.scrollLeft];}else哲学原理 504{if(L)哲学原理 505{return[L.scrollTop,L.scrollLeft];}else哲学原理 506{return[0,0];}}},regCE:function()哲学原理 507{},_simpleAdd:function()哲学原理 508{if(window.addEventListener)哲学原理 509{return function(M,N,L,K)哲学原理 510{M.addEventListener(N,L,(K));};}else哲学原理 511{if(window.attachEvent)哲学原理 512{return function(M,N,L,K)哲学原理 513{M.attachEvent(“on”+N,L);};}else哲学原理 514{return function()哲学原理 515{};}}}(),_simpleRemove:function()哲学原理 516{if(window.removeEventListener)哲学原理 517{return function(M,N,L,K)哲学原理 518{M.removeEventListener(N,L,(K));};}else哲学原理 519{if(window.detachEvent)哲学原理 520{return function(L,M,K)哲学原理 521{L.detachEvent(“on”+M,K);};}else哲学原理 522{return function()哲学原理 523{};}}}()};}();(function()哲学原理 524{var EU=YAHOO.util.Event;EU.on=EU.addListener;
10哲学原理 525哲学原理 526/**//* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
11哲学原理 527哲学原理 528if(EU.isIE)哲学原理 529{YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement(“p”);EU._dri=setInterval(function()哲学原理 530{try哲学原理 531{n.doScroll(“left”);clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex)哲学原理 532{}},EU.POLL_INTERVAL);}else哲学原理 533{if(EU.webkit&&EU.webkit<525)哲学原理 534{EU._dri=setInterval(function()哲学原理 535{var rs=document.readyState;if(“loaded”==rs||”complete”==rs)哲学原理 536{clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else哲学原理 537{EU._simpleAdd(document,”DOMContentLoaded”,EU._ready);}}EU._simpleAdd(window,”load”,EU._load);EU._simpleAdd(window,”unload”,EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function()哲学原理 538{};YAHOO.util.EventProvider.prototype=哲学原理 539{__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E)哲学原理 540{this.__yui_events=this.__yui_events||哲学原理 541{};var D=this.__yui_events[A];if(D)哲学原理 542{D.subscribe(C,F,E);}else哲学原理 543{this.__yui_subscribers=this.__yui_subscribers||哲学原理 544{};var B=this.__yui_subscribers;if(!B[A])哲学原理 545{B[A]=[];}B[A].push(哲学原理 546{fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G)哲学原理 547{this.__yui_events=this.__yui_events||哲学原理 548{};var A=this.__yui_events;if(C)哲学原理 549{var F=A[C];if(F)哲学原理 550{return F.unsubscribe(E,G);}}else哲学原理 551{var B=true;for(var D in A)哲学原理 552{if(YAHOO.lang.hasOwnProperty(A,D))哲学原理 553{B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A)哲学原理 554{return this.unsubscribe(A);},createEvent:function(G,D)哲学原理 555{this.__yui_events=this.__yui_events||哲学原理 556{};var A=D||哲学原理 557{};var I=this.__yui_events;
12哲学原理 558哲学原理 559if(I[G])哲学原理 560{}else哲学原理 561{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback)哲学原理 562{B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||哲学原理 563{};var F=this.__yui_subscribers[G];if(F)哲学原理 564{for(var C=0;C<F.length;++C)哲学原理 565{B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C)哲学原理 566{this.__yui_events=this.__yui_events||哲学原理 567{};var G=this.__yui_events[E];if(!G)哲学原理 568{return null;}var B=[];for(var F=1;F<arguments.length;++F)哲学原理 569{B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A)哲学原理 570{if(this.__yui_events)哲学原理 571{if(this.__yui_events[A])哲学原理 572{return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C)哲学原理 573{if(!A)哲学原理 574{}else哲学原理 575{if(!F)哲学原理 576{}else哲学原理 577{if(!B)哲学原理 578{}}}if(!C)哲学原理 579{C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent(“keyPressed”);this.enabledEvent=new YAHOO.util.CustomEvent(“enabled”);this.disabledEvent=new YAHOO.util.CustomEvent(“disabled”);if(typeof A==”string”)哲学原理 580{A=document.getElementById(A);}if(typeof B==”function”)哲学原理 581{D.subscribe(B);}else哲学原理 582{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I)哲学原理 583{if(!F.shift)哲学原理 584{F.shift=false;}if(!F.alt)哲学原理 585{F.alt=false;}if(!F.ctrl)哲学原理 586{F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl)哲学原理 587{var G;if(F.keys instanceof Array)哲学原理 588{for(var H=0;H<F.keys.length;H++)哲学原理 589{G=F.keys[H];if(G==J.charCode)哲学原理 590{D.fire(J.charCode,J);break;}else哲学原理 591{if(G==J.keyCode)哲学原理 592{D.fire(J.keyCode,J);break;}}}}else哲学原理 593{G=F.keys;if(G==J.charCode)哲学原理 594{D.fire(J.charCode,J);}else哲学原理 595{if(G==J.keyCode)哲学原理 596{D.fire(J.keyCode,J);}}}}}this.enable=function()哲学原理 597{if(!this.enabled)哲学原理 598{YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function()哲学原理 599{if(this.enabled)哲学原理 600{YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function()哲学原理 601{return”KeyListener [“+F.keys+”] “+A.tagName+(A.id?”[“+A.id+”]”:””);};};YAHOO.util.KeyListener.KEYDOWN=”keydown”;YAHOO.util.KeyListener.KEYUP=”keyup”;YAHOO.util.KeyListener.KEY=哲学原理 602{ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register(“event”,YAHOO.util.Event,哲学原理 603{version:”2.5.2″,build:”1076″});YAHOO.register(“yahoo-dom-event”, YAHOO, 哲学原理 604{version: “2.5.2”, build: “1076”});
13哲学原理 605

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图