锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品亚洲aⅴ在线观看,亚洲男人的天堂网站,亚洲色大情网站wwwhttp://www.tkk7.com/Good-Game/zh-cnSat, 10 May 2025 12:18:47 GMTSat, 10 May 2025 12:18:47 GMT60hbn-annotations瀛︿範-涓嶆眰浜?ant junit鐜閰嶇疆) http://www.tkk7.com/Good-Game/archive/2009/04/14/265452.htmlG_GG_GTue, 14 Apr 2009 03:30:00 GMThttp://www.tkk7.com/Good-Game/archive/2009/04/14/265452.htmlhttp://www.tkk7.com/Good-Game/comments/265452.htmlhttp://www.tkk7.com/Good-Game/archive/2009/04/14/265452.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/265452.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/265452.html瀛︿範灝變粠瀹樻柟鐨勬祴璇曞紑濮嬶紝浣嗕笉鐭ラ亾鎬庝箞鍥炰簨瀹樻柟鐨勬祴璇曟湁闂錛岃繖鎴戝氨鎶婃垜閰嶇疆鐨勭畝鍗昷unit鐜鍏變韓緇欏ぇ瀹舵妸錛?br />1.涓嬭澆 hibernate-annotations-3.4.0.GA 騫惰В鍘?,cd 鍒拌В鍘嬪悗鐩綍涓?br />2. $>ant junit 錛堝ぉ鐭ラ亾錛屾庝箞瀹樻柟鍑虹殑涓滆タ嫻嬭瘯涓嶈兘閫氳繃錛侊紒錛?br />聽聽 涓嶈鎬ワ紝鎴戜滑鏉ョ湅閿欒 (閿欒鎻愮ず鏈夊垹鍑?
聽聽聽聽 閿欒-1錛?>build.xml:95: ./jdbc not found.
聽聽聽聽 瑙e喅鍔炴硶-1錛?$>mkdir ./jdbc
3.聽 $>ant junit
聽聽聽聽 閿欒-2錛毬?
聽聽聽聽聽 ./build.xml:124: The following error occurred while executing this line:
聽聽聽聽聽 ./build.xml:126: The following error occurred while executing this line:
聽聽聽聽聽 ./common-build.xml:349: .\src\filters\hsqldb.filter as it doesn't exist.
聽聽聽聽 瑙e喅鍔炴硶-2錛?br />聽聽聽聽聽聽 $>mkdir聽 ./src/filters ;
聽聽聽聽聽聽 $>echo "" > ./src/filters/hsqldb.filter;
4. 聽 $>ant junit
聽聽聽聽 閿欒-3錛?br />聽聽聽聽聽聽 ./build.xml:124: The following error occurred while executing this line:
聽聽聽聽聽聽 ./build.xml:126: The following error occurred while executing this line:
聽聽聽聽聽聽 ./common-build.xml:351: .\src\test-resources not found.
聽聽聽聽聽 $>mkdir聽 ./src/test-resources ;
5. 聽 $>ant junit
聽聽聽聽 閿欒-4錛氭病鏈塧nt 閿欒浜嗭紒錛屼絾嫻嬭瘯閮戒負閿欒錛岄偅鎴戜滑灝辯湅鐪?絎竴涓祴璇曞惂錛屾壘涓嬪師鍥狅紒
聽聽聽聽聽聽聽聽 test-resources:
聽聽聽聽聽聽聽聽聽 [mkdir] Created dir: hibernate-anntations-3.4.0.GA\build\test-reports\hsqldb
聽聽聽聽聽聽聽聽聽 [echo] Running against db: hsqldb
聽聽聽聽聽聽聽聽聽 [junit] Running org.hibernate.test.annotations.ConfigurationTest
聽聽聽聽聽聽聽聽聽 [junit] Tests run: 7, Failures: 0, Errors: 6, Time elapsed: 1.218 sec
聽聽聽聽聽聽聽聽聽 .............
聽聽聽聽 $>find . -name "ConfigurationTest.java"聽 #pwd /hibernate-anntations-3.4.0.GA
聽聽聽聽聽聽聽 ./test/org/hibernate/test/annotations/configuration/ConfigurationTest.java
聽聽聽聽聽聽聽 ./test/org/hibernate/test/annotations/ConfigurationTest.java
聽聽聽聽聽 鏍規嵁璺緞 org.hibernate.test.annotations.ConfigurationTest
聽聽聽聽聽 gvim聽 ./test/org/hibernate/test/annotations/ConfigurationTest.java
聽聽聽聽聽 鍙戠幇絎?0琛? cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );
聽聽聽聽聽 鎰熻搴旇娌℃湁閰嶇疆 jdbc
聽聽聽聽聽 gvim ./test/org/hibernate/test/annotations/hibernate.cfg.xml聽 #鏋滅劧 娌¢厤緗?br />聽聽聽聽聽 鎴戣繖灝辨斁涓垜鐨勭畝鍗曢厤緗笂鏉?浣跨敤 hbm hsqldb 鍐呭瓨鏁版嵁搴撴祴 璇?)錛?br />
<!DOCTYPE聽hibernate-configuration聽PUBLIC
聽聽聽聽聽聽聽聽"-//Hibernate/Hibernate聽Configuration聽DTD聽3.0//EN"
聽聽聽聽聽聽聽聽"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<hibernate-configuration>
聽聽
<session-factory>
聽聽聽聽聽聽聽聽
<property聽name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
聽聽聽聽聽聽聽聽
<property聽name="connection.driver_class">org.hsqldb.jdbcDriver</property>
聽聽聽聽聽聽聽聽
<property聽name="connection.url">jdbc:hsqldb:mem:hbn_ann</property>
聽聽聽聽聽聽聽聽
<property聽name="connection.username">sa</property>
聽聽聽聽聽聽聽聽
<property聽name="connection.password"></property>
聽聽聽
聽聽聽聽聽聽聽聽
<mapping聽resource="org/hibernate/test/annotations/Boat.hbm.xml"/>
聽聽聽聽聽聽聽聽
<mapping聽package="org.hibernate.test.annotations"/>
聽聽聽聽聽聽聽聽
<mapping聽class="org.hibernate.test.annotations.Plane"/>
聽聽
</session-factory>
</hibernate-configuration>


聽聽聽聽聽 鎴戣繖灝辨槸瑕乭sqldb鍚э紝鏃㈢劧涓婇潰閿欒1鏈?jdbc 鏂囦歡澶癸紝閭e氨鏄斁 jdbc jar 鐨勫湴鏂?
聽聽聽聽聽 $> cp ../hsqldb.jar聽 ./jdbc
聽聽聽
6. 聽 $>ant junit
聽聽聽聽 鍛靛懙 嫻嬭瘯 絎竴涓紜簡 錛?錛堢洰鍓嶉厤緗悗錛屾祴璇曠幆澧冨茍涓嶆槸鍏ㄩ儴閮芥紜紝姣斿絎?涓祴璇曪級
聽聽聽聽 鍏朵粬嫻嬭瘯閿欒鏃ュ織鍦犅犅?.\build\test-reports\hsqldb ...
聽聽聽聽 姣斿絎?涓敊璇?寮傚父閮ㄥ垎
聽聽聽聽聽 org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
聽聽聽 at org.hibernate.dialect.Dialect.instantiateDialect(Dialect.java:256)
聽聽聽 at org.hibernate.dialect.Dialect.getDialect(Dialect.java:234)
聽聽聽聽聽聽聽 ........ 澶у涓杈瑰涔狅紝涓杈歸厤緗祴璇?鐜鍚с?br />聽聽聽 閿欒鏃ヨ 閮戒細鍦?build\test-reports\hsqldb涓?/b>



G_G 2009-04-14 11:30 鍙戣〃璇勮
]]>
html css 鍒囧壊鍥劇墖 鏄劇ず http://www.tkk7.com/Good-Game/archive/2009/02/24/256468.htmlG_GG_GTue, 24 Feb 2009 08:46:00 GMThttp://www.tkk7.com/Good-Game/archive/2009/02/24/256468.htmlhttp://www.tkk7.com/Good-Game/comments/256468.htmlhttp://www.tkk7.com/Good-Game/archive/2009/02/24/256468.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/256468.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/256468.html鍙傝冿細
http://tech.ddvip.com/2008-12/122835390597191.html


欏甸潰鍙互鐩存帴榪愯錛?br />
<html>
<head>

<style聽type="text/css">

.box1
{
float
:left;
width
:21px;
height
:21px;
position
:relative;
background
:聽#F3F2E2聽url(http://mp3.youdao.com/images/mbox_bg.gif)聽no-repeat;
}
.box1聽
{
background-position
:聽0px聽-60px;
}


</style>

</head>

<body>

聽聽聽聽
<div聽class="box1"
聽聽聽聽聽聽聽聽onmouseover
="this.style.backgroundPosition='0px聽-81px'聽"
聽聽聽聽聽聽聽聽onmouseout
="this.style.backgroundPosition='0px聽-102px'聽"聽聽聽聽
聽聽聽聽
>
聽聽聽聽
</div>

</body>

</html>



G_G 2009-02-24 16:46 鍙戣〃璇勮
]]>
javascript 鍩虹鎬葷粨錛堥潰鍚戝璞★級http://www.tkk7.com/Good-Game/archive/2009/02/12/254355.htmlG_GG_GThu, 12 Feb 2009 03:56:00 GMThttp://www.tkk7.com/Good-Game/archive/2009/02/12/254355.htmlhttp://www.tkk7.com/Good-Game/comments/254355.htmlhttp://www.tkk7.com/Good-Game/archive/2009/02/12/254355.html#Feedback2http://www.tkk7.com/Good-Game/comments/commentRss/254355.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/254355.html javascript 瀛︿範
聽聽 聽 聽 javascript 澶т綋涓婂彲鍒嗕負3涓笉鍚岄儴鍒嗙粍鎴愶細 鏍稿績錛圗CMAscript錛?鏂囨湰瀵硅薄(DOM),嫻忚鍣ㄥ璞?BOM)
    1. 聽鏍稿績錛圗CMAscript錛夛細 鍏抽敭瀛楋紝璇彞錛岃繍綆楃錛屽璞?br />
    2. 鏂囨湰瀵硅薄(DOM)錛欴OM灝嗘妸鏁翠釜欏甸潰瑙勫垝鎴愮敱鑺傜偣灞傜駭鏋勬垚鐨勬枃妗?
      1. 瑙f瀽閬靛驚 W3C html dom 鏍囧噯錛?/font>
      2. W3C dom DOM Node 璇存槑聽聽聽
    3. BOM 嫻忚鍣ㄥ璞?聽 cookie,寮瑰嚭鏂版祻瑙堝櫒錛屾祻瑙堝櫒璁劇疆澶у皬

鏍稿績錛圗CMAscript錛塆lobal 鍐呯疆瀵硅薄錛?br /> 聽聽聽聽聽 鏂規硶錛?parseInt(),isNan(),encodeURI()...絳夐兘涓烘瀵硅薄鏂規硶
聽聽聽聽聽 鐗瑰埆娉ㄦ剰 eval();鍔ㄦ佽璦鐨勮薄寰?姣斿錛歟val("alert('hi')"); 浣嗚繖涓柟娉曞緢閭伓錛堝畨鍏ㄦ柟闈級
鏂囨湰瀵硅薄(DOM)璇存槑錛?br />
聽聽 聽聽聽 聽
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>

DOM node tree

Node tree

聽聽 聽聽聽 聽聽聽 聽聽聽


聽聽聽 聽

1. ECMAscript鍩虹

聽聽聽聽聽聽 $ 鍙橀噺寮辯被鍨?; 聽聽聽 鍖堢墮鍒╃被鍨嬫爣紺?: var iOuouValue=100;聽

聽聽聽聽聽聽 $ 緇撴潫琛屽垎鍙鋒湁鏃犻兘鍙互; 聽聽聽 浣嗗啀 onsubmit="javascript:function();return false;"

聽聽聽聽聽聽 $ 鍏抽敭瀛?; 鎻愬埆娉ㄦ剰

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "constructor" bean.constructor

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //print bean function(){

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ....

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "typeof" 聽 var test=1; alert(typeof testX); //output "undefined"

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "NaN" - not a number ->聽 isNan("blue"); //output "true" 聽 ->isNan("123"); //output "false"聽

聽聽聽聽聽聽 $ 瀵硅薄; var o = new Object(); var a = {}聽

聽聽 聽聽聽 聽聽聽 聽聽聽 聽榪欓噷鐗瑰埆璇存槑涓?鎴戜滑鏅氬啓鐨?涓涓?function 灝辨槸涓涓?object

聽聽 聽聽聽 聽聽聽 聽聽 榪櫬犅?var a = {name:"鍒樺嚡姣?} 絳夊悓涓?var a = function(){this.name="鍒樺嚡姣?font size="4">"};

聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽聽 鏉ヤ釜 {name:"test",pass:"123456",addr:"bj"} //榪欐槸浠涔?錛燂紒 json

聽聽 聽聽聽 聽聽聽 聽聽聽聽聽聽聽聽 褰?var str = '{name:"test",pass:"123456",addr:"bj"}'

聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽聽 var objectBean = eval(str); //榪欓噷灝辨槸 瀵硅薄 objectBea.name 浣跨敤浜?/font>

鍩熸蹇碉細

<SCRIPT type=text/javascript>
var sMessage = 'Hello';
function setSomething() {
聽 sColor = 'red';
聽 sMessage = 'Hello World!';
}
setSomething();
alert(sMessage); //Hello World!
alert(sColor); //red
</SCRIPT>
<SCRIPT type=text/javascript>
var sMessage = 'Hello';
function setSomething() {
var sColor = 'red';
聽 sMessage = 'Hello World!';
}
setSomething();
alert(sMessage); //Hello World!
alert(sColor); // 浠涔堥兘娌℃湁
</SCRIPT>

<SCRIPT type=text/javascript>
var sMessage = 'Hello';
function setSomething() {
var sColor = 'red';
var sMessage = 'Hello World!';
}
setSomething();
alert(sMessage); //Hello
alert(sColor); // 浠涔堥兘娌℃湁
</SCRIPT>

聽聽聽聽聽聽聽聽聽聽

涓洪潰鍚戝璞″仛鍩虹錛?/b>object prototype 綾誨瀷鐨勫璞″簲鐢ㄣ?a id="vgou" title="鍙傝?>鍙傝?/a>

// 鏈綆鍗曠殑 緇ф壙
Object.prototype.inObj聽=聽1;

function聽A()
{
聽聽聽聽this.inA聽=聽2;
}

A.prototype.inAProto聽=聽3;

B.prototype聽=聽new聽A;聽聽聽聽聽聽聽聽聽聽聽聽//聽Hook聽up聽A聽into聽B's聽prototype聽chain
B.prototype.constructor聽=聽B;
function聽B()
{
聽聽聽聽this.inB聽=聽4;
}

B.prototype.inBProto聽=聽5;

x聽=聽new聽B;
document.write(x.inObj聽+聽',聽'聽+聽x.inA聽+聽',聽'聽+聽x.inAProto聽+聽',聽'聽+聽x.inB聽+聽',聽'聽+聽x.inBProto);

//1, 2, 3, 4, 5
//澧炲姞鐐逛俊蹇?http://www.json.org/json.js
Object.prototype.toJSONString = function (filter) {
return JSON.stringify(this, filter);
};
鍚庢垜浠氨鍙互浣跨敤 bean.toJSONString()涓嶆槸鍚楋紵

聽聽聽 $ arguments ;

聽聽聽聽聽聽聽聽 function getFun(){alert(arguments.length);}聽聽 ;

聽聽 聽聽聽 聽聽聽 聽聽聽 聽getFun("xx") //output 1

聽聽 聽聽聽 聽聽聽 聽聽聽 聽getFun("xx",23) //output 2



聽聽 $ 璇彞 ;鐗規畩璇存槑涓?for聽

聽聽聽聽聽聽聽聽聽聽 for(var i=0i<iCount;i++)聽聽 鎴?for( attr in object ) ;

聽聽聽聽聽聽聽聽聽聽 濡傛灉鏃犺亰 浣犲彲浠?for( sProp in window ){alert(sProp+"浣犱斧鐐瑰晩錛?);} //鐪嬬湅 javascript 鐨勫弽灝?br />

聽聽聽聽聽聽聽聽聽聽聽聽聽聽

聽 聽 聽 聽 聽 聽 聽 聽聽

聽聽聽


闈㈠悜瀵硅薄錛?/b>

聽 var bean = new Bean();

聽聽

1.宸ュ巶鏂規硶

聽聽聽聽聽聽聽 聽聽聽 function getAttr(){

聽聽聽聽 聽聽 聽聽聽 聽聽聽聽 alert(this.attr)

聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽 function Bean(tattr){

聽聽 聽聽聽 聽聽聽 聽聽聽聽 var bean = new Object;

聽聽 聽聽聽 聽聽聽 聽聽聽聽聽bean.attr = tattr;

聽聽 聽聽聽 聽聽聽 聽聽聽聽聽bean.getAttr = getAttr;

聽聽 聽聽聽 聽聽聽 聽聽聽聽 return bean ;

聽聽聽聽聽聽聽聽聽聽聽 }

聽聽 聽聽聽聽 鏍規湰灝辨槸灞卞鐗?闈㈠悜瀵硅薄

聽 2.鏋勯?/b>

聽聽聽聽聽 聽聽聽 function Bean(tattr){

聽聽 聽聽聽 聽聽聽聽聽聽 this.attr = tattr ;

聽聽 聽聽聽 聽聽聽 聽聽 bean.getAttr = function(){

聽聽 聽聽聽 聽聽聽 聽聽聽聽聽alert(this.attr);

聽聽 聽聽聽 聽聽聽 聽 聽} 聽 聽

聽聽 聽聽聽 聽聽聽}

聽聽 鍏朵笂 2 鎬?鍐岯ean 瀵硅薄鍒涘緩鏃訛紝鏂規硶浼?鈥滈噸澶嶇敓鎴愬嚱鏁扳濓紒


3.鍘熷瀷妯″紡

聽聽聽 function Bean(){}

聽聽聽 Bean.prototype.attr = "";

聽聽聽 Bean.prototype.getAttr=function(){alert(this.attr);}

聽聽 聽

聽聽 瑙e喅 鈥滈噸澶嶇敓鎴愬嚱鏁扳?闂錛屼絾鏂扮殑闂 Bean.prototype.getArray = new Array();


聽聽 鍏?new 瀵硅薄 bean1 鍜?bean2 閮戒細鍏變韓 new Array 絀洪棿(鏄垜浠笉鎯崇湅鍒扮殑)


聽 4.娣峰悎 妯″瀷 :)聽 鍝堝搱

聽聽聽聽 function Bean(){

聽聽 聽聽聽 聽this.attr= "";

聽聽 聽聽聽 聽this.getArray=new Array;

聽聽 聽}

聽聽 聽Bean.prototype.getAttr=function(){alert(this.attr);}


5.鍔ㄦ佸師鍨?錛堟敞鎰忎笅闈㈠紑濮嬶紝灝辨槸鐪熸鐨勯潰鍚戝璞?/span>錛侊紒錛侊級

聽聽 聽聽聽 function Bean(){

聽聽 聽聽聽聽 this.attr= "";
聽聽 聽聽聽 聽this.getArray=new Array;

聽聽 聽聽聽聽 //classload 鍔犺澆 鏃?br />

聽聽 聽聽聽聽 if(typeof Bean._initialized == "undefined" ){

聽聽 聽聽聽 聽聽聽聽 Bean.prototype.getAttr=function(){alert(this.attr);};

聽聽 聽聽聽聽 聽聽聽 Bean._initialized= true ;

聽聽 聽聽聽 聽}

聽聽聽聽 }

聽聽聽

/****************************************************************/

瀵硅薄緇ф壙

聽 1.瀵硅薄鍐掑厖錛侊紒(鍙敮鎸佸緇ф壙錛屽北瀵ㄥ緢寮哄ぇ)

聽聽聽聽聽 function classA(sstr){

聽聽 聽聽聽聽 this.color = sstr ;

聽聽 聽聽聽聽 this.sayColor = function(){

聽聽 聽聽聽 聽聽聽聽 alert(this.color);

聽聽 聽聽聽 聽};

聽聽 聽聽聽}

聽聽 聽聽 function classC(){}

聽聽 聽聽聽 function classB(){

聽聽 聽聽聽 聽聽聽聽 this.newMethod =ClassA ;

聽聽 聽聽聽 聽聽聽聽 this.newMethod();

聽聽 聽聽聽 聽聽聽聽 delete this.newMethod ;


聽聽 聽聽聽 聽聽聽聽 this.newMethod =ClassC ;

聽聽 聽聽聽 聽聽聽聽 this.newMethod();

聽聽 聽聽聽 聽聽聽聽 delete this.newMethod ;

聽聽 聽聽聽 聽聽聽聽

聽聽 聽聽聽 聽聽聽聽 this.arrt = "google";

聽聽 聽聽聽 聽}

聽聽 聽

聽 2.call() apply() 涔熷北瀵?

聽聽聽聽聽 function classA(sstr){

聽聽 聽聽聽聽 this.color = sstr ;

聽聽 聽聽聽聽 this.sayColor = function(str){

聽聽 聽聽聽 聽聽聽聽 alert(str+this.color);

聽聽 聽聽聽 聽};

聽聽 聽聽聽}

聽聽 聽聽聽 function classB(){

聽聽 聽聽聽 聽聽聽 // this.newMethod =ClassA ;

聽聽 聽聽聽 聽聽聽 // this.newMethod();

聽聽 聽聽聽 聽聽聽 // delete this.newMethod ;

聽聽 聽聽聽 聽聽聽聽 classA.call(this,"red");

聽聽 聽聽聽 聽聽聽聽 //classA.apply(this,new Array("red"))

聽聽 聽聽聽 聽聽聽聽 this.arrt = "baidu";

聽聽 聽聽聽 }


3.姝g粺鐨勭戶鎵?鍘熷瀷閾?/b> (浣嗕笉鏀寔澶氱戶鎵?
聽聽聽 function classA(){this.oo="test";}
聽聽聽 classA.prototype.color = "red";
聽聽聽 function classB(){}
聽聽聽 classB.prototype = new classA ;
聽聽聽 classB.prototype.sayName = function(){
聽聽 聽聽聽聽 alert( this.color );
聽聽 聽}
聽聽 聽
var bb = new classB ;
聽聽 聽bb.sayName();
// output red
聽聽 聽
alert(bb.oo); // output test

聽聽 聽alert( bb instanceof classA); //output true
聽聽 聽alert( bb instanceof classB); //output聽 true

4.濡傛灉浣犺澶氱戶鎵匡紒錛佸茍涓旇繕鏀寔 instanceof
聽聽 聽聽聽聽 娣峰悎鏂瑰紡錛?br />
聽聽 聽聽聽聽 function classA(){}
聽聽 聽聽聽聽 function classB(){}
聽聽 聽聽聽聽 function classC(){
聽聽 聽聽聽 聽聽聽聽 classA.call(this);
聽聽 聽聽聽 聽聽聽聽 classC.call(this);
聽聽 聽聽聽 聽}
聽聽 聽聽聽聽 classC.prototype = new classA ;//娉ㄦ剰 榪?
instanceof 鍙兘瀵?A鏈夌敤

聽聽 聽聽聽 聽






聽聽聽



G_G 2009-02-12 11:56 鍙戣〃璇勮
]]>
linux flash 瀹夎http://www.tkk7.com/Good-Game/archive/2009/01/12/251041.htmlG_GG_GMon, 12 Jan 2009 15:39:00 GMThttp://www.tkk7.com/Good-Game/archive/2009/01/12/251041.htmlhttp://www.tkk7.com/Good-Game/comments/251041.htmlhttp://www.tkk7.com/Good-Game/archive/2009/01/12/251041.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/251041.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/251041.html
涓嬭澆錛歠lash-plugin-10.0.15.3-release.i386.rpm

聽rpm -ivh flash-plugin-10.0.15.3-release.i386.rpm


G_G 2009-01-12 23:39 鍙戣〃璇勮
]]>
tomcat 璋冭瘯 http://www.tkk7.com/Good-Game/archive/2008/12/26/248512.htmlG_GG_GFri, 26 Dec 2008 09:52:00 GMThttp://www.tkk7.com/Good-Game/archive/2008/12/26/248512.htmlhttp://www.tkk7.com/Good-Game/comments/248512.htmlhttp://www.tkk7.com/Good-Game/archive/2008/12/26/248512.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/248512.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/248512.html
tomcat > server.xml

聽聽聽聽聽 <Host name="localhost" appBase="webapps"
聽聽聽聽聽聽 unpackWARs="true" autoDeploy="true"
聽聽聽聽聽聽 xmlValidation="false" xmlNamespaceAware="false">

聽 <Context docBase="D:/workspace/meganotes/mn_mod_admin/target/mn_mod_admin/" path="/"聽 />

銆傘傘傘?br />

鍏抽敭錛氬湪Context涓婁笉瑕佸姞reloadable鍜宒ebug灞炴?
聽鐒跺悗 浣跨敤eclipse tomcat 璋冭瘯
ok



G_G 2008-12-26 17:52 鍙戣〃璇勮
]]>
寮哄ぇ鐨?ant scp 鍜?sshexec http://www.tkk7.com/Good-Game/archive/2008/12/24/248113.htmlG_GG_GWed, 24 Dec 2008 08:24:00 GMThttp://www.tkk7.com/Good-Game/archive/2008/12/24/248113.htmlhttp://www.tkk7.com/Good-Game/comments/248113.htmlhttp://www.tkk7.com/Good-Game/archive/2008/12/24/248113.html#Feedback3http://www.tkk7.com/Good-Game/comments/commentRss/248113.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/248113.html
<? xml聽version="1.0"聽encoding="UTF-8" ?>
< project聽 name ="ssh" >
聽聽聽聽
< property聽 file ="ssh.properties" />
聽聽聽聽
< tstamp >
聽聽聽聽聽聽聽聽
< format聽 property ="TODAY" 聽pattern ="yyyyMMddHHmm" />
聽聽聽聽
</ tstamp >
聽聽聽聽
< property聽 name ="ssh.path" 聽value ="/data/meganotes/shell/" />


聽聽聽聽
< target聽 name ="shell/聽鏂囦歡聽涓婅澆/瑕嗙洊" >
聽聽聽聽聽聽聽聽
< input聽 addproperty ="scp_coverage_shell_file"
聽聽聽聽聽聽聽聽聽聽聽聽message
="杈撳叆錛坰sh/聽涓嬫枃浠跺悕聽\n\r聽涓婅澆鎴栬鐩柭犲埌鏈嶅姟鍣?18聽${ssh.path}聽)錛? >
聽聽聽聽聽聽聽聽
</ input >
聽聽聽聽聽聽聽聽
< input
聽聽聽聽聽聽聽聽聽聽聽聽
message ="璇風‘瀹氭槸鍚︿嬌鐢爏sh/${scp_coverage_shell_file}聽瑕嗙洊鏈嶅姟鍣ㄤ腑聽${ssh.host}:${ssh.path}${scp_coverage_shell_file}聽(y,n)"
聽聽聽聽聽聽聽聽聽聽聽聽validargs
="y,n" 聽addproperty ="do.coverage" 聽defaultvalue ="n" />
聽聽聽聽聽聽聽聽
< condition聽 property ="do.abort" >
聽聽聽聽聽聽聽聽聽聽聽聽
< equals聽 arg1 ="n" 聽arg2 ="${do.coverage}" />
聽聽聽聽聽聽聽聽
</ condition >
聽聽聽聽聽聽聽聽
< fail聽 if ="do.abort" > 閫鍑?/span> </ fail >

聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true"
聽聽聽聽聽聽聽聽聽聽聽聽command
="
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽mkdir聽-p聽${ssh.path}backup/${TODAY}聽;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽[聽-f聽${ssh.path}${scp_coverage_shell_file}聽聽聽]聽;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽then聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽cp聽${ssh.path}${scp_coverage_shell_file}聽${ssh.path}backup/${TODAY}/聽;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽fi聽;
聽聽聽聽聽聽聽聽"
>
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽聽聽聽聽
< scp聽 file ="ssh/${scp_coverage_shell_file}"
聽聽聽聽聽聽聽聽聽聽聽聽todir
="${ssh.myName}:${ssh.myPass}@${ssh.host}:${ssh.path}"
聽聽聽聽聽聽聽聽聽聽聽聽trust
="true" 聽verbose ="true" />

聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true"
聽聽聽聽聽聽聽聽聽聽聽聽command
="chmod聽777聽${ssh.path}${scp_coverage_shell_file}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽
</ target >

聽聽聽聽
< target聽 name ="shell/聽鏂囦歡鏌ョ湅" >
聽聽聽聽聽聽聽聽
< input聽 addproperty ="show_shell_file" 聽message ="杈撳叆鏌ョ湅鏂囦歡鍚嶏紙*sh錛夛細"
聽聽聽聽聽聽聽聽聽聽聽聽defaultvalue
="*" >
聽聽聽聽聽聽聽聽
</ input >
聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true"
聽聽聽聽聽聽聽聽聽聽聽聽command
="ls聽聽/data/meganotes/shell/${show_shell_file}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽
</ target >

聽聽聽聽
< target聽 name ="shell/聽鏂囦歡鎷瘋礉" >
聽聽聽聽聽聽聽聽
< input聽 addproperty ="scp_shell_file"
聽聽聽聽聽聽聽聽聽聽聽聽message
="杈撳叆聽/data/meganotes/shell/聽涓嬮渶瑕佹枃浠跺悕錛坈p聽鍒奧爏sh聽涓嬶級錛? >
聽聽聽聽聽聽聽聽
</ input >
聽聽聽聽聽聽聽聽
< scp
聽聽聽聽聽聽聽聽聽聽聽聽
file ="${ssh.myName}:${ssh.myPass}@${ssh.host}:/data/meganotes/shell/${scp_shell_file}"
聽聽聽聽聽聽聽聽聽聽聽聽todir
="ssh" 聽trust ="true" 聽verbose ="true" />
聽聽聽聽
</ target >



聽聽聽聽
< target聽 name ="admin-mvn緇勫悎鎿嶄綔" >
聽聽聽聽聽聽聽聽
< exec聽 executable ="cmd" >
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="/c" />
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="${basedir}/sh/mvn/meganotes_mvn_clear.bat" />
聽聽聽聽聽聽聽聽
</ exec >
聽聽聽聽聽聽聽聽
< exec聽 executable ="cmd" >
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="/c" />
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="${basedir}/sh/mvn/meganotes_mvn_install.bat" />
聽聽聽聽聽聽聽聽
</ exec >
聽聽聽聽聽聽聽聽
< exec聽 executable ="cmd" >
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="/c" />
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="${basedir}/sh/mvn/mn_mod_admin_mvn_intall.bat" />
聽聽聽聽聽聽聽聽
</ exec >
聽聽聽聽
</ target >


聽聽聽聽
< target聽 name ="admin-tomcat鏃ュ織" >
聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true" 聽command ="${ssh.adminRunLog}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽
</ target >

聽聽聽聽
< target聽 name ="schedule-tomcat鏃ュ織" >
聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true"
聽聽聽聽聽聽聽聽聽聽聽聽command
="${ssh.scheduleRunLog}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽
</ target >
聽聽聽聽
< target聽 name ="鏌ユ壘2008/涓婱p3娌¤漿128-64鏂囦歡澶? >
聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true" 聽command ="${ssh.64k}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true" 聽command ="${ssh.128k}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽聽聽聽聽
< sshexec聽 host ="${ssh.host}" 聽username ="${ssh.myName}"
聽聽聽聽聽聽聽聽聽聽聽聽password
="${ssh.myPass}" 聽trust ="true"
聽聽聽聽聽聽聽聽聽聽聽聽command
="${ssh.128kto64k.err}" >
聽聽聽聽聽聽聽聽
</ sshexec >
聽聽聽聽
</ target >

聽聽聽聽
< target聽 name ="admin妯″潡嫻嬭瘯" >
聽聽聽聽聽聽聽聽
< input聽 addproperty ="admin_test_input"
聽聽聽聽聽聽聽聽聽聽聽聽message
="嫻嬭瘯綾昏緭鍏ワ紙Video*Test錛夛細" 聽defaultvalue ="*Test" >
聽聽聽聽聽聽聽聽
</ input >
聽聽聽聽聽聽聽聽
< echo聽 message ="${admin_test_input}" ></ echo >
聽聽聽聽聽聽聽聽
< exec聽 executable ="cmd" >
聽聽聽聽聽聽聽聽聽聽聽聽
< arg聽 value ="/c" />
聽聽聽聽聽聽聽聽聽聽聽聽
< arg
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
value ="${basedir}/sh/admin_test.bat聽${admin_test_input}聽" />
聽聽聽聽聽聽聽聽
</ exec >
聽聽聽聽
</ target >
</ project >



G_G 2008-12-24 16:24 鍙戣〃璇勮
]]>
java gzip (浣跨敤錛屼貢鐮侀棶棰樺凡瑙e喅錛?http://www.tkk7.com/Good-Game/archive/2008/12/22/247757.htmlG_GG_GMon, 22 Dec 2008 06:35:00 GMThttp://www.tkk7.com/Good-Game/archive/2008/12/22/247757.htmlhttp://www.tkk7.com/Good-Game/comments/247757.htmlhttp://www.tkk7.com/Good-Game/archive/2008/12/22/247757.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/247757.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/247757.html


聽聽聽聽 public static void 聽main(String[]聽args)聽 {
聽聽聽聽聽聽聽聽
try {
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽String聽charset聽
= " UTF-8 " ;
聽聽聽聽聽聽聽聽聽String聽outfile聽
= " d:\\category.20081218.gz " ;
聽聽聽聽聽聽聽聽聽BufferedReader聽in聽
= new 聽BufferedReader(
聽聽聽聽聽聽聽聽聽聽
new 聽InputStreamReader(
聽聽聽聽聽聽聽聽聽聽
new 聽FileInputStream( " d:\\category.20081218 " ),
聽聽聽聽聽聽聽聽聽聽charset));
聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽BufferedOutputStream聽out聽
=
聽聽聽聽聽聽聽聽聽聽聽聽
new 聽BufferedOutputStream(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽
new 聽GZIPOutputStream(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
new 聽FileOutputStream(outfile)));
聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽System.out.println(
" Writing聽file " );
聽聽聽聽聽聽聽聽聽聽String聽c;
聽聽聽聽聽聽聽聽聽聽
while ((c聽 = 聽in.readLine()) != null )
聽聽聽聽聽聽聽聽聽聽聽聽out.write(聽(c
+ " \n " ).getBytes(charset));
聽聽聽聽聽聽聽聽聽聽in.close();
聽聽聽聽聽聽聽聽聽聽out.close();
聽聽聽聽聽聽聽聽聽聽System.out.println(
" Reading聽file " );
聽聽聽聽聽聽聽聽聽聽BufferedReader聽in2聽
=
聽聽聽聽聽聽聽聽聽聽聽聽
new 聽BufferedReader(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽
new 聽InputStreamReader(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
new 聽GZIPInputStream(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
new 聽FileInputStream(outfile)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽),charset
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽);
聽聽聽聽聽聽聽聽聽聽String聽s;
聽聽聽聽聽聽聽聽聽聽
while ((s聽 = 聽in2.readLine())聽 != null )
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(s);
聽聽聽聽聽聽聽聽}
catch (Exception聽e)聽 {
聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽}




G_G 2008-12-22 14:35 鍙戣〃璇勮
]]>
jquery 琛ュ叏浣跨敤絎旇http://www.tkk7.com/Good-Game/archive/2008/12/13/246081.htmlG_GG_GSat, 13 Dec 2008 01:41:00 GMThttp://www.tkk7.com/Good-Game/archive/2008/12/13/246081.htmlhttp://www.tkk7.com/Good-Game/comments/246081.htmlhttp://www.tkk7.com/Good-Game/archive/2008/12/13/246081.html#Feedback1http://www.tkk7.com/Good-Game/comments/commentRss/246081.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/246081.html
瀹樻柟涓婁笅
http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

$.琛ュ叏涓枃聽 淇敼
聽聽聽 jquery.autocomplete.js 涓?br />聽聽聽 $input.bind(($.browser.opera ? "keypress" : "keydown")
聽聽聽 鏀逛負
聽聽聽 $input.bind(($.browser.opera ? "keypress" : "keyup")
聽聽聽聽
$. 鍦?localdata.js 銆嬨?var cities = [..聽
聽聽 涓斁浜?涓枃 嫻嬭瘯鍚?


嫻嬭瘯欏甸潰 錛屾渶綆鍗曠殑浣跨敤欏甸潰 銆傦紙搴旇綆楁槸鏈綆鍗曡ˉ鍏ㄦ祴璇曚簡錛?br />
<script聽type="text/javascript"聽src="../lib/jquery.js"></script>
<script聽type='text/javascript'聽src='../jquery.autocomplete.js'></script>

<link聽rel="stylesheet"聽type="text/css"聽href="../jquery.autocomplete.css"/>
<script聽type="text/javascript">
$().ready(
function()聽{
聽聽聽聽$(
"#suggest1").autocomplete([
聽聽聽聽
"test1",
聽聽聽聽
"test2",
聽聽聽聽
"嫻嬭瘯1",
聽聽聽聽聽聽聽
"嫻嬭瘯2"
聽聽聽聽]);
});
</script>

<input聽type="text"聽id="suggest1"/>



浣跨敤json

<script聽type="text/javascript"聽src="../lib/jquery.js"></script>
<script聽type='text/javascript'聽src='../jquery.autocomplete.js'></script>

<script聽type='text/javascript'聽src='localdata.js'></script>
<link聽rel="stylesheet"聽type="text/css"聽href="../jquery.autocomplete.css"/>
<script聽type="text/javascript">
var聽emails聽=聽[
聽聽聽聽{聽name:聽
"Peter聽Pan",聽to:聽"peter@pan.de"聽},
聽聽聽聽{聽name:聽
"Molly",聽to:聽"molly@yahoo.com"聽},
聽聽聽聽{聽name:聽
"Forneria聽Marconi",聽to:聽"live@japan.jp"聽},
聽聽聽聽{聽name:聽
"Master聽<em>Sync</em>",聽to:聽"205bw@samsung.com"聽},
聽聽聽聽{聽name:聽
"Dr.聽<strong>Tech</strong>聽de聽Log",聽to:聽"g15@logitech.com"聽},
聽聽聽聽{聽name:聽
"Don聽Corleone",聽to:聽"don@vegas.com"聽},
聽聽聽聽{聽name:聽
"Mc聽Chick",聽to:聽"info@donalds.org"聽},
聽聽聽聽{聽name:聽
"Donnie聽Darko",聽to:聽"dd@timeshift.info"聽},
聽聽聽聽{聽name:聽
"Quake聽The聽Net",聽to:聽"webmaster@quakenet.org"聽},
聽聽聽聽{聽name:聽
"Dr.聽Write",聽to:聽"write@writable.com"聽}
]


$().ready(
function()聽{
聽聽聽聽聽聽聽聽$(
"#suggest13").autocomplete(emails,聽{
聽聽聽聽聽聽聽聽
//琛ュ叏涓夋嫨鏄劇ず
聽聽聽聽聽聽聽聽formatItem:聽function(row,聽i,聽max)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
return聽i聽+"/"+聽max聽+":聽\""聽+聽row.name聽+聽"\"聽["+聽row.to聽+"]";
聽聽聽聽聽聽聽聽聽聽聽聽},
聽聽聽聽聽聽聽聽
//琛ュ叏鍖歸厤鏍煎紡
聽聽聽聽聽聽聽聽formatMatch:聽function(row,聽i,聽max)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
return聽row.name聽;
聽聽聽聽聽聽聽聽聽聽聽聽},
聽聽聽聽聽聽聽聽
//琛ュ叏閫夊畾鍚庢樉紺?/span>
聽聽聽聽聽聽聽聽formatResult:聽function(row)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
return聽row.to;
聽聽聽聽聽聽聽聽}
聽聽聽聽})
});
</script>






G_G 2008-12-13 09:41 鍙戣〃璇勮
]]>
ajax Form http://www.tkk7.com/Good-Game/archive/2008/11/09/239538.htmlG_GG_GSun, 09 Nov 2008 10:35:00 GMThttp://www.tkk7.com/Good-Game/archive/2008/11/09/239538.htmlhttp://www.tkk7.com/Good-Game/comments/239538.htmlhttp://www.tkk7.com/Good-Game/archive/2008/11/09/239538.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/239538.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/239538.html
/*
聽聽聽 1.form聽ajax聽浣跨敤錛?/b>
聽聽聽聽eG:
form灝辨槸鏅氱殑 html form
聽聽聽聽聽聽聽聽<input聽type="button"聽value="xx"聽onclick="formAjax('data.jsp',this.form,ajaxReturn)"/>
聽聽聽聽聽聽聽聽function聽ajaxReturn(data){
聽聽聽聽聽聽聽聽聽聽聽聽document.getElementById("div1").innerHTML聽=聽聽data聽;
聽聽聽聽聽聽聽聽}
聽聽
聽聽聽聽
聽聽聽 2.ajax聽浣跨敤聽聽聽錛?/b>
聽聽聽聽AjaxFunction
聽聽聽聽聽聽聽聽AjaxFunction('url?param=tt&param2=te',function(text){聽聽
聽聽聽聽聽聽聽聽聽聽聽聽alert(text);
聽聽聽聽聽聽聽聽});

聽聽聽 3.榪唬鍣細

聽聽聽 recursiveNodes(array,dom,pushFun,layer)
聽 聽 聽聽 array 榪唬瀵勫瓨鍣?br />聽 聽 聽聽 dom 琚凱浠e璞?br />聽聽聽聽聽聽 pushFun 鑷畾涔夋敹闆嗘柟娉?
聽聽聽聽聽聽聽聽聽聽聽 pushFun(array,node,layer)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 node 榪唬涓璞?br />聽聽聽聽聽聽 layer 娣卞害
聽聽聽 EG:
聽聽聽 var arr = [] ;
聽聽聽 recursiveNodes(
arr ,dom,function(array,node,layer){
聽聽聽聽聽聽聽聽聽聽聽 arr.push(node);
聽聽聽聽 },2)
;


聽 聽 聽聽聽
*/
var聽_request;
try聽{
聽聽聽聽
this._request聽=new聽XMLHttpRequest();
}聽
catch聽(e)聽{
聽聽聽聽
try聽{
聽聽聽聽聽聽聽聽
this._request聽=new聽ActiveXObject('Msxml2.XMLHTTP');
聽聽聽聽}聽
catch聽(e)聽{
聽聽聽聽聽聽聽聽
try聽{
聽聽聽聽聽聽聽聽聽聽聽聽
this._request聽=new聽ActiveXObject('Microsoft.XMLHTTP');
聽聽聽聽聽聽聽聽}聽
catch聽(e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽request聽
=false;
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}

var聽AjaxFunction聽=function(urls,聽getAjaxText)聽{
聽聽聽聽AjaxFunction._getAjaxText聽
=null;

聽聽聽聽_url聽
=聽'';
聽聽聽聽_params聽
=聽'';

聽聽聽聽AjaxFunction._getAjaxText聽
=聽getAjaxText;
聽聽聽聽
var聽strs聽=聽urls.split(/\?/);
聽聽聽聽_url聽
=聽strs[0];
聽聽聽聽
if聽(strs.length聽>1)
聽聽聽聽聽聽聽聽_params聽
=聽strs[1];

聽聽聽聽_request.open(
"POST",聽this._url,聽true);
聽聽聽聽_request.setRequestHeader(
"Cache-Control",聽"no-cache");
聽聽聽聽_request.setRequestHeader(
"content-type",
聽聽聽聽聽聽聽聽聽聽聽聽
"application/x-www-form-urlencoded");
聽聽聽聽_request.send(_params);
聽聽聽聽_request.onreadystatechange聽
=聽_onComplete;
};
function聽_onComplete()聽{
聽聽聽聽
if聽(_request.readyState聽==4)聽{
聽聽聽聽聽聽聽聽
if聽(_request.status聽==200||聽_request.status聽==0)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
if聽(_request.responseText聽!=null&&聽_request.responseText聽!=聽''
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
&&聽_request.responseText聽!=聽'聽')
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽AjaxFunction._getAjaxText(_request.responseText);
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}

/*
聽*聽榪唬聽1.聽array,dom聽2.聽array,dom,layer
*/
function聽recursiveNodes(array,聽dom,聽pushFun,聽layer)聽{
聽聽聽聽
if聽(layer聽==0)
聽聽聽聽聽聽聽聽
return;
聽聽聽聽
if聽(layer聽>0)聽{
聽聽聽聽聽聽聽聽
--layer;
聽聽聽聽聽聽聽聽
if聽(dom.hasChildNodes聽&&聽dom.hasChildNodes())聽{
聽聽聽聽聽聽聽聽聽聽聽聽
for聽(聽var聽i聽=0;聽i聽<聽dom.childNodes.length;聽i++)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
var聽nodeT聽=聽dom.childNodes.item(i);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(typeof聽pushFun聽=="function")
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽pushFun(array,nodeT,聽layer);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
else
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽array.push(nodeT);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽recursiveNodes(array,聽dom.childNodes.item(i),聽pushFun,聽layer);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}聽
else
聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽}聽
elseif聽(layer聽<0)聽{
聽聽聽聽聽聽聽聽
++layer;
聽聽聽聽聽聽聽聽
var聽nodeT聽=聽dom.parentNode;
聽聽聽聽聽聽聽聽
if聽(nodeT)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
if聽(typeof聽pushFun聽=="function")聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽pushFun(array,nodeT,聽layer);
聽聽聽聽聽聽聽聽聽聽聽聽}聽
else聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽array.push(nodeT);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽recursiveNodes(array,聽dom.parentNode,聽pushFun,聽layer)
聽聽聽聽聽聽聽聽}聽
else
聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽}
}

function聽formAjax(url,ttform,returnFun){
聽聽聽聽
var聽datas聽=聽[];
聽聽聽聽
var聽arr聽=聽['input','select'];
聽聽聽聽recursiveNodes(datas,ttform,
function(array,node,layer){
聽聽聽聽聽聽聽聽
for(var聽i=0;i<arr.length;i++){
聽聽聽聽聽聽聽聽聽聽聽聽
if(聽node.getAttribute聽){
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
var聽paramName聽=聽node.getAttribute('name')聽;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if(聽/select/i.test(聽node.nodeName聽)聽){
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽array.push(paramName
+'='+node.options[node.selectedIndex].value);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
elseif(聽paramName聽!=null&&聽聽/^\s*(\w+)\s*$/g.test(paramName)聽&&new聽RegExp(arr[i],'i').test(node.nodeName)聽聽){
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽array.push(paramName
+'='+node.value);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽},
999);
聽聽聽聽
//?聽&#63;
聽聽聽聽//&聽&#38;
聽聽聽聽var聽urls聽=聽url+'?'+datas.join("&");
聽聽聽聽AjaxFunction(urls,returnFun);
}






G_G 2008-11-09 18:35 鍙戣〃璇勮
]]>
xpath javascripthttp://www.tkk7.com/Good-Game/archive/2008/09/24/230975.htmlG_GG_GWed, 24 Sep 2008 11:57:00 GMThttp://www.tkk7.com/Good-Game/archive/2008/09/24/230975.htmlhttp://www.tkk7.com/Good-Game/comments/230975.htmlhttp://www.tkk7.com/Good-Game/archive/2008/09/24/230975.html#Feedback0http://www.tkk7.com/Good-Game/comments/commentRss/230975.htmlhttp://www.tkk7.com/Good-Game/services/trackbacks/230975.htmlfunction trim(str){ return str.replace(/(^\s*)|(\s*$)/g,""); }

function recursiveNodes(array,dom,layer){
聽 if( layer==0 ) return ;
聽 if(layer>0){
聽聽聽聽 --layer;
聽聽聽聽 if( dom.hasChildNodes && dom.hasChildNodes() ){
聽聽聽聽聽聽 for(var i=0;i<dom.childNodes.length;i++ ){
聽聽聽聽聽 array.push(dom.childNodes.item(i));
聽聽聽聽聽聽聽聽聽 recursiveNodes(array, dom.childNodes.item(i),layer ) ;
聽聽聽聽聽聽 }
聽聽聽聽 }else return聽 ;
聽 }else if(layer<0){
聽聽聽聽 ++layer;
聽聽聽聽 if( dom.parentNode ){
聽聽聽聽聽聽聽聽聽聽 array.push( dom.parentNode );
聽聽聽聽聽聽聽聽聽聽 recursiveNodes( array,dom.parentNode,layer)
聽聽聽聽 }else return ;
聽 }
}

/*
[@name || && > < >= <= != @location='UK']
*/
function singleStep(dom,stepAction,stepStr){
聽 var allArrData = [] ;
聽 var arrData = [] ;
聽 var num = stepAction.split(/\//).length ;
聽 recursiveNodes(allArrData,dom,num==2?1:999);

聽 stepStr = trim(stepStr) ;
聽 var nodeName聽 ;
聽 var nodeNum ;
聽 var conds = true ;
聽聽聽聽 //鍒ゆ柇鍗曞尮閰?鏄惁鏈?灞炴у姣斅?[@..=..]
聽 if( /\[(.*?)\]/.test(stepStr) ){
聽聽聽聽聽 nodeName = trim( /.*?(?=\[{1})/g.exec(stepStr)[0]聽聽 ).replace(/\*/g,".*") ;
聽聽聽聽聽 conds = /\[(.*?)\]/.exec(stepStr)[1].replace(/\*/g,".*") ;
聽聽聽聽聽 if(! isNaN(conds) ){
聽聽聽 nodeNum = parseInt(conds)-1;

聽聽聽聽聽 }else{
聽聽聽聽聽 //灞炴?鏇挎崲涓?
聽聽聽聽聽聽聽 conds = conds.replace(/(@)(.*?)(?=\W)/g," allArrData[i].getAttribute('$2') ") ;
聽聽聽聽聽聽聽 conds = conds.replace( /([\W]+)(.*?)::\'(.*?)\'/g," $1 /$3/g.test($2) " ) ;
聽聽聽聽聽聽聽 conds = conds.replace( /(text\(\))/g ," allArrData[i].innerHTML ") ;
聽聽聽聽聽聽聽 conds = conds.replace( /([\w\s])(=)/g ,"$2=") ;

聽聽聽聽聽 }
聽 }else{
聽聽聽聽聽 nodeName = stepStr ;
聽 }

聽 for(var j=i=0;i<allArrData.length;i++){
聽聽聽聽 if(聽 eval('/'+nodeName+'/i.test( allArrData[i].nodeName ) ')聽聽 ){
聽聽聽 if(typeof nodeNum=="number"){
聽聽聽 聽 if(j==nodeNum){ arrData.push( allArrData[i] );聽 return arrData; }
聽聽聽 聽 else 聽聽聽 ++j;
聽聽聽 }else if( eval(' allArrData[i].getAttribute && '+conds) ){
聽聽聽聽聽聽聽聽聽 arrData.push( allArrData[i] );
聽聽聽聽聽聽聽 }
聽聽聽聽 }
聽 }
聽 return arrData ;
}


function getXpath(dom,xpathStr){
聽聽 var xpaths = xpathStr.split(/(\/{1,2})/g);
聽聽聽 var arrDom = [dom] ;
聽聽 for(var i=1;i<xpaths.length;i=i+2){
聽聽聽聽聽聽聽 var arrData = [];
聽聽聽聽聽聽聽 for(var j=0;j<arrDom.length;j++)
聽聽聽聽聽聽聽聽聽 arrData = arrData.concat( singleStep(arrDom[j],xpaths[i],xpaths[i+1]) );
聽聽聽聽聽聽聽 arrDom = arrData ;
聽聽 }
聽聽 return arrDom ;
}

















******************************************************************************************************
function trim(str){ return str.replace(/(^\s*)|(\s*$)/g,""); }

function recursiveNodes(array,dom,layer){
聽 if( layer==0 ) return ;
聽 if(layer>0){
聽聽聽聽 --layer;
聽聽聽聽 if( dom.hasChildNodes && dom.hasChildNodes() ){
聽聽聽聽聽聽 for(var i=0;i<dom.childNodes.length;i++ ){
聽聽聽聽聽 array.push(dom.childNodes.item(i));
聽聽聽聽聽聽聽聽聽 recursiveNodes(array, dom.childNodes.item(i),layer ) ;
聽聽聽聽聽聽 }
聽聽聽聽 }else return聽 ;
聽 }else if(layer<0){
聽聽聽聽 ++layer;
聽聽聽聽 if( dom.parentNode ){
聽聽聽聽聽聽聽聽聽聽 array.push( dom.parentNode );
聽聽聽聽聽聽聽聽聽聽 recursiveNodes( array,dom.parentNode,layer)
聽聽聽聽 }else return ;
聽 }

}



/*
聽 [@name || && > < >= <= != @location='UK']
*/
function singleStep(dom,stepAction,stepStr){
聽 var allArrData = [] ;
聽 var arrData = [] ;
聽 var num = stepAction.split(/\//).length ;
聽 recursiveNodes(allArrData,dom,num==2?1:999);

聽 stepStr = trim(stepStr) ;
聽 var nodeName聽 ;
聽 var conds = true ;
聽聽聽聽 //鍒ゆ柇鍗曞尮閰?鏄惁鏈?灞炴у姣斅?[@..=..]
聽 if( /\[(.*?)\]/.test(stepStr) ){
聽聽聽聽聽 nodeName = trim( /^(.*?)\[{1}/.exec(stepStr)[1] ) ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //灞炴?鏇挎崲涓?
聽聽聽聽聽 conds = /\[(.*?)\]/.exec(stepStr)[1].replace(/(@)(.*?)(?=\W)/g," allArrData[i].getAttribute('$2').toString() ") ;
聽聽聽聽聽 conds = conds.replace( /([\W]+)(.*?)::\'(.*?)\'/g," $1 /$3/g.test($2) " ) ;
聽聽聽聽聽聽聽 conds = conds.replace( /(text\(\))/g ," allArrData[i].innerHTML ") ;
聽聽聽聽聽 conds = conds.replace( /([\w\s])(=)/g ,"$2=") ;
聽 }else{
聽聽聽聽聽 nodeName = stepStr ;
聽聽聽聽 }

聽 for(var i=0;i<allArrData.length;i++){
聽聽聽聽 if(聽 new RegExp(nodeName, 'i').test( allArrData[i].nodeName ) && eval(conds) ){
聽聽聽聽聽聽聽聽 arrData.push( allArrData[i] );
聽聽聽聽聽聽聽聽聽聽聽聽 }
聽 }
聽 return arrData ;
}


function getXpath(dom,xpathStr){
聽聽 var xpaths = xpathStr.split(/(\/{1,2})/g);
聽聽聽 var arrDom = [dom] ;
聽聽 for(var i=1;i<xpaths.length;i=i+2){
聽聽聽聽聽聽聽 var arrData = [];
聽聽聽聽聽聽聽 for(var j=0;j<arrDom.length;j++)
聽聽聽聽聽聽聽聽聽 arrData = arrData.concat( singleStep(arrDom[j],xpaths[i],xpaths[i+1]) );
聽聽聽聽聽聽聽 arrDom = arrData ;
聽聽 }
聽聽 return arrDom ;
}


G_G 2008-09-24 19:57 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久草视频免费在线| 日韩视频免费在线| 亚洲粉嫩美白在线| 亚洲国产人成中文幕一级二级| 成人免费av一区二区三区| 亚洲理论片在线观看| 国产一级特黄高清免费大片| 中文无码成人免费视频在线观看| 亚洲日本va在线观看| 亚洲精品无码av天堂| 国产成在线观看免费视频| 好吊色永久免费视频大全| 在线aⅴ亚洲中文字幕| 亚洲AV无码国产精品色午友在线| 国产精品免费_区二区三区观看 | 亚洲成a人片在线不卡| 色噜噜AV亚洲色一区二区| 免费无码又爽又刺激聊天APP| 久久精品免费大片国产大片| 亚洲精品人成网在线播放影院| 国产AV无码专区亚洲AWWW| 免费毛片在线看片免费丝瓜视频| 伊人免费在线观看| 国产精品无码亚洲精品2021| 亚洲激情视频网站| 在线A亚洲老鸭窝天堂| 在线观着免费观看国产黄| 久久永久免费人妻精品下载| 一级一级毛片免费播放| 亚洲综合久久精品无码色欲| 久久精品国产亚洲AV无码偷窥| 亚洲精品国产va在线观看蜜芽| 久久久久久免费视频| 久久免费看少妇高潮V片特黄| 特级aaaaaaaaa毛片免费视频| 亚洲综合偷自成人网第页色| 亚洲VA中文字幕无码一二三区| 亚洲国产综合久久天堂| 免费看美女让人桶尿口| 日韩精品无码区免费专区| 亚洲免费视频播放|