<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>程式片斷  - Javascript</title><link>http://blog.blueshop.com.tw/ajun/category/706.aspx</link><description>程式片斷  - Javascript</description><managingEditor>孤影</managingEditor><dc:language>zh-TW</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>孤影</dc:creator><title>不裝外掛,不需關閉javascript,在ie裡就是要貼上資料</title><link>http://blog.blueshop.com.tw/ajun/archive/2007/09/05/52317.aspx</link><pubDate>Wed, 05 Sep 2007 23:41:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2007/09/05/52317.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/52317.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2007/09/05/52317.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/52317.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/52317.aspx</trackback:ping><description>&lt;P&gt;今天接到一個問題,&lt;BR&gt;有個表單有限制貼上的功能,&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1075a545-cc9f-41ac-a826-c7ff54a9aae2 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 240px; PADDING-TOP: 0px; HEIGHT: 18px"&gt;&lt;PRE style="BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;body onpaste&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;return false;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;因為有很多筆資料要新增,&lt;BR&gt;如果不能貼上的話,那就要自己重key...真的是非常的不UserFriendly...&lt;/P&gt;
&lt;P&gt;通常,遇到這樣的情形,&lt;BR&gt;我會直接改用firefox就好了,&lt;BR&gt;不過因為現在只能用ie去編輯(因為對方不想裝FireFox),&lt;BR&gt;那當然,直接關掉ie的javascript也是可以.&lt;BR&gt;但是一關掉javascript的話,連其他的功能也不能用了,&lt;BR&gt;所以只好另想辦法,&lt;BR&gt;當然最有用的方式就是複製那個網頁,拿掉不想要的限制,&lt;BR&gt;然後丟到自己的電腦或是自己的主機上做(當然action要記得改成對方的主機),&lt;BR&gt;但是,這樣還是有點麻煩...&lt;BR&gt;&lt;BR&gt;後來找到一個方法,&lt;BR&gt;只要在ie的網址列輸入下列語法就可以了.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:fe608c10-6dc2-4726-8739-a2a442bb21f8 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE style="BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;SPAN style="COLOR: #000000"&gt;javascript:alert(document.body.onpaste&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;function(){&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;20&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;true&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;});&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;如果你要測試的話,&lt;BR&gt;可以透過下面網址測試&lt;BR&gt;&lt;A title=PasteTest href="http://ajunlee.googlepages.com/PasteTest.htm" target=_blank&gt;http://ajunlee.googlepages.com/PasteTest.htm&lt;/A&gt;&lt;BR&gt;當然這個測試只能在ie上測試(因為標題已經說了"在ie"...).&lt;/P&gt;
&lt;P&gt;先開啟上面的網頁,隨便複製一段字串,&lt;BR&gt;試試看能不能貼到文字方塊中,&lt;BR&gt;然後在複製上面的javascript語法,&lt;BR&gt;貼在剛剛哪個ie的網址列後按下enter,&lt;BR&gt;這時會跳出一個訊息視窗,按下確定關閉訊息視窗,&lt;BR&gt;然後在試試看能否貼上資料!!&lt;/P&gt;
&lt;P&gt;當然,可能還有其他的方法,&lt;BR&gt;不過這樣的方式會讓不會程式的人覺得很厲害(或許把妹可以用的到,如果收到好人卡不要怪我)...&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/52317.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>document.body.scrollTop都是0</title><link>http://blog.blueshop.com.tw/ajun/archive/2007/06/07/51203.aspx</link><pubDate>Thu, 07 Jun 2007 15:55:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2007/06/07/51203.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/51203.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2007/06/07/51203.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/51203.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/51203.aspx</trackback:ping><description>&lt;p&gt;整個五月都沒有在維護blog,&lt;br&gt;雖然有不少東西可以寫,但就是因為懶...&lt;br&gt;所以這次一定要趁還想寫的時候趕快寫下來...&lt;/p&gt; &lt;p&gt;今天,再作一個網頁特效的時候,&lt;br&gt;遇到了一個狀況,&lt;br&gt;因為要作的功能是,捲動瀏覽器的捲軸後,&lt;br&gt;廣告圖片會跟著滑動.&lt;br&gt;而這功能,在網路上已經有很多範例了,&lt;br&gt;所以特別挑了一個簡短而且在IE跟Firefox上都可以用的來,&lt;br&gt;稍微修改一下,寫個&lt;a href="http://ajunlee.googlepages.com/rolling.htm" target="_blank"&gt;範例&lt;/a&gt;測試,沒有問題就想說可以開始套了,&lt;br&gt;結果沒想到將那個片段套在程式裡以後,卻不會動...&lt;br&gt;所以只好重頭debug了.&lt;br&gt;debug到後來才發現,&lt;br&gt;原本的&lt;a href="http://ajunlee.googlepages.com/rolling.htm" target="_blank"&gt;測試網頁&lt;/a&gt;中使用的document.body.scrollTop是正常的,&lt;br&gt;但是套用到aspx的頁面時,&lt;br&gt;不管怎麼捲動,document.body.scrollTop都是0.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.google.com.tw/search?hl=zh-TW&amp;q=document.body.scrollTop&amp;meta=" target="_blank"&gt;google&lt;/a&gt;一下後發現,原來是因為網頁的DOCTYPE的問題,&lt;br&gt;在測試的網頁中,是用下面這片段&lt;br&gt;&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;&lt;/p&gt; &lt;p&gt;但是在網站中,是用&lt;br&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;br&gt;(ps.這是在.Net studio中預設新增網頁時會加上去的.)&lt;/p&gt; &lt;p&gt;所以原本的document.body.scrollTop要改成document.documentElement.scrollTop就可以了.&lt;/p&gt; 
&lt;p&gt;&lt;font color="#ff0000"&gt;update - 20070614:&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;感謝無名氏的提醒,&lt;br&gt;這才發現原以為ie跟firefox都正常的範例是有點問題的...&lt;br&gt;而問題點在於,&lt;br&gt;未使用DTD前,在ie跟firefox都可以使用下列的語法來設定位置 
&lt;p&gt;document.getElementById("adimg").style.top = 200; 
&lt;p&gt;但是在使用DTD之後,&lt;br&gt;ie還是可以接受上面的語法,&lt;br&gt;但是在firefox卻是不行的,&lt;br&gt;而firefox所能接受的如下(需要加上單位)&lt;br&gt;document.getElementById("adimg").style.top = "200px" 
&lt;p&gt;而這個在ie上是接受的,&lt;br&gt;所以只要改成如上的語法就可以在ie跟firefox都正常了.&lt;p&gt;範例網頁:&lt;/p&gt; &lt;p&gt;原始 : &lt;a title="http://ajunlee.googlepages.com/rolling.htm" href="http://ajunlee.googlepages.com/rolling.htm"&gt;http://ajunlee.googlepages.com/rolling.htm&lt;/a&gt;&lt;br&gt;使用DTD : &lt;a title="http://ajunlee.googlepages.com/rolling_err.htm" href="http://ajunlee.googlepages.com/rolling_err.htm"&gt;http://ajunlee.googlepages.com/rolling_err.htm&lt;/a&gt;&lt;br&gt;使用DTD修正後 : &lt;a title="http://ajunlee.googlepages.com/rolling_ok.htm" href="http://ajunlee.googlepages.com/rolling_ok.htm"&gt;http://ajunlee.googlepages.com/rolling_ok.htm&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/51203.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>JS-Kits 第一個小工具.在網頁加上google翻譯的連結</title><link>http://blog.blueshop.com.tw/ajun/archive/2007/03/17/50042.aspx</link><pubDate>Sat, 17 Mar 2007 02:40:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2007/03/17/50042.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/50042.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2007/03/17/50042.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/50042.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/50042.aspx</trackback:ping><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;第一個小工具.在網頁加上google翻譯的連結  &lt;/p&gt;&lt;p&gt;說明 :&lt;br&gt;google提供了一個翻譯的服務,你可以透過它翻譯整個網頁頁面,&lt;br&gt;只要把網址丟給他,設定要轉換的語言就可以了,&lt;br&gt;只是,目前對於中文.只有提供繁簡互轉,以及中文轉英文而已.  &lt;/p&gt;&lt;p&gt;程式網址.&lt;br&gt;&lt;a href="http://jskits.googlecode.com/files/babelfishTW.js"&gt;http://jskits.googlecode.com/files/babelfishTW.js&lt;/a&gt; &lt;/p&gt;&lt;p&gt;用法:&lt;br&gt;在你要放置連結圖式的位置加上以下片段即可.&lt;br&gt;&amp;lt;SCRIPT LANGUAGE="JavaScript" src="http://jskits.googlecode.com/files/babelfishTW.js"&amp;gt;&amp;lt;/SCRIPT&amp;gt;  &lt;/p&gt;
效果畫面 : &lt;br&gt;
&lt;a href="http://picasaweb.google.com/ajunlee/Blog/photo?authkey=nzzrvqMIiUY#5043157294180403922"&gt;&lt;img src="http://lh6.google.com/image/ajunlee/Rfzk1toLCtI/AAAAAAAAAJ8/6W58akXvqrg/s288/babelfish.jpg" border="0"&gt;&lt;/a&gt;
&lt;p&gt;ps.這程式很簡單,主要只是要試試看google code的project hosting怎麼玩.&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/50042.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>玩玩Ajax系列 - Dom在asp與asp.net</title><link>http://blog.blueshop.com.tw/ajun/archive/2007/03/13/49972.aspx</link><pubDate>Tue, 13 Mar 2007 18:46:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2007/03/13/49972.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/49972.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2007/03/13/49972.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/49972.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/49972.aspx</trackback:ping><description>&lt;p&gt;前言&lt;/p&gt; &lt;p&gt;這陣子微軟似乎正在大力的推ajax,&lt;br&gt;而blog中如果有個ajax的資料,似乎也能增加些瀏覽數..&lt;/p&gt; &lt;p&gt;不過這次是因為某個專案的功能,才會有這篇的...&lt;/p&gt; &lt;p&gt;話說,因為支援別人寫的一個用了大量ajax的案子,&lt;br&gt;但是這個案子原本是用asp,而我則是要用asp.net 1.1開發新功能,&lt;/p&gt; &lt;p&gt;而原本的程式中,&lt;br&gt;是使用Microsoft.XMLDOM將要傳送的資料打包後post到後端,&lt;br&gt;程式碼如下(前端javascript的片段)&lt;/p&gt; &lt;p&gt;xmlData = "&amp;lt;xml&amp;gt;..................&amp;lt;/xml&amp;gt;" &lt;br&gt;var xmlDom=new ActivexObject("Microsoft.XMLDOM")&lt;br&gt;xmlDom.load("domtest.xml") &lt;p&gt;而後端是用asp.一樣用Microsoft.XMLDOM來接收&lt;br&gt;而接收的程式如下 &lt;p&gt;Dim mydoc&lt;br&gt;Set mydoc=Server.CreateObject("Microsoft.XMLDOM")&lt;br&gt;mydoc.async=false&lt;br&gt;mydoc.load(Request) &lt;p&gt;&amp;nbsp; &lt;p&gt;不過,現在問題來了,&lt;br&gt;1.前端用new ActiveObject("Microsoft.XMLDOM")在firefox下是不會動的.&lt;br&gt;2.而且也不適合再用Server.CreateObject來建立Microsoft.XMLDOM,&lt;br&gt;3.因為我是用.net 1.1,所以不能像asp這樣直接load(Request) &lt;p&gt;-- &lt;p&gt;1.&lt;/p&gt; &lt;p&gt;在ie中使用xmlhttp是用new ActiveXObject("Microsoft.XMLHTTP");&lt;br&gt;而在firefox中則是用new XMLHttpRequest();&lt;br&gt;這個之前有說過.(&lt;a href="http://blog.blueshop.com.tw/ajun/archive/2005/04/26/3402.aspx" target="_blank"&gt;使用xmlhttp讀取遠端檔案&lt;/a&gt;)&lt;br&gt;那Microsoft.XMLDOM呢??&lt;br&gt;其實,在firefox是不需要建立這個的.&lt;br&gt;只要直接使用下面的語法就可以了....&lt;/p&gt; &lt;p&gt;xml = "&amp;lt;xml&amp;gt;..................&amp;lt;/xml&amp;gt;"; &lt;p&gt;xmlHttp.open("POST", url);&lt;br&gt;xmlHttp.setRequestHeader("Content-Type", "text/xml");&lt;br&gt;xmlHttp.send(xml); &lt;p&gt;2.&lt;/p&gt; &lt;p&gt;.net 1.1中的Microsoft.XMLDOM呢?&lt;br&gt;如果注意一下前端送過來的資料就可以知道,XMLDOM實際上就是xml的內容,&lt;br&gt;所以在.net中是使用XMLDocument去接收,&lt;br&gt;所以程式碼如下&lt;/p&gt; &lt;p&gt;XmlDocument _xmldoc = new XmlDocument();&lt;br&gt;_xmldoc.LoadXml(xmlData); &lt;p&gt;而xmlData就是接收到的xml結構內容,但是.net要怎麼接收呢?? &lt;p&gt;3. &lt;p&gt;在.net的Request物件跟asp的不同,不能直接用_xmldoc.Load(Request)&lt;br&gt;而.net中,Requet有個InputStream的屬性,&lt;br&gt;而這就是我們需要的,只是他是Stream,所以我們在接收的時候需要用StreamReader去接收,&lt;br&gt;所以接收的程式如下 &lt;p&gt;StreamReader reader = new StreamReader(Request.InputStream);&lt;br&gt;string xmlData = reader.ReadToEnd(); &lt;p&gt;以上,問題到此就解決了. &lt;p&gt;最後附上一個測試用的範例,&lt;br&gt;使用ajax的方式新增Rss item,&lt;br&gt;在ie跟firefox上都能work. &lt;p&gt;範例網址 : &lt;a title="http://vip.blueshop.com.tw/ajun/item.htm" href="http://vip.blueshop.com.tw/ajun/item.htm"&gt;http://vip.blueshop.com.tw/ajun/item.htm&lt;/a&gt; &lt;p&gt;其中,前端的部分,程式都在頁面中了,&lt;br&gt;而後端接收的程式(ItemSave.aspx)的原始碼在這 &lt;a title="http://vip.blueshop.com.tw/ajun/sample/ItemSave.aspx.cs.txt" href="http://vip.blueshop.com.tw/ajun/sample/ItemSave.aspx.cs.txt"&gt;http://vip.blueshop.com.tw/ajun/sample/ItemSave.aspx.cs.txt&lt;/a&gt; &lt;p&gt;有興趣的就玩玩吧!!&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/49972.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>iframe中href=&amp;quot;javascript:alert('MOG')&amp;quot;有問題 - 原來是因為base target</title><link>http://blog.blueshop.com.tw/ajun/archive/2007/02/09/49615.aspx</link><pubDate>Fri, 09 Feb 2007 19:54:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2007/02/09/49615.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/49615.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2007/02/09/49615.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/49615.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/49615.aspx</trackback:ping><description>&lt;p&gt;因為asp.net不容許一個頁面有多個form,&lt;br&gt;所以需要將原本搜尋的功能改用javascript串字串換location的方式來寫.&lt;/p&gt; &lt;p&gt;原本,單一頁上都沒有問題,&lt;br&gt;但是後來因為需要讓其他網站使用,所以其他網站就使用iframe來包那一頁,&lt;br&gt;但是,一包進iframe卻發生function沒有被定義的問題...&lt;/p&gt; &lt;p&gt;追了半天才發現,原來是因為&amp;lt;base target="_parent"&amp;gt;的問題...&lt;/p&gt; &lt;p&gt;因為搜尋的那頁除了搜尋的功能外,還有其他的link,為了讓他可以點選link後是替換掉整頁,&lt;br&gt;所以就用最簡單的方法,在header加個&amp;lt;base target="_parent"&amp;gt;&lt;br&gt;而因為搜尋的按鈕是個圖片,所以就用連結的方式包起來呼叫function,&lt;br&gt;像是:&amp;lt;a href="javascript:search();"&amp;gt;圖片&amp;lt;/a&amp;gt;.&lt;/p&gt; &lt;p&gt;所以只要將原本的&lt;br&gt;&amp;lt;a href="javascript:search();"&amp;gt;圖片&amp;lt;/a&amp;gt;&lt;br&gt;改成&lt;br&gt;&amp;lt;a href="javascript:search();" target="_self"&amp;gt;圖片&amp;lt;/a&amp;gt;&lt;br&gt;就可以了.&lt;/p&gt; &lt;p&gt;玩玩下面的範例,&lt;br&gt;你會發現,在iframe中,要呼叫上一層或是其他frame的javascript,&lt;br&gt;只要用href的方式,加個target就可以了!!&lt;/p&gt; &lt;p&gt;範例 : &lt;a title="http://ajunlee.googlepages.com/iframe_js.htm" href="http://ajunlee.googlepages.com/iframe_js.htm"&gt;http://ajunlee.googlepages.com/iframe_js.htm&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/49615.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>IE vs. FireFox系列 - createElement option的問題</title><link>http://blog.blueshop.com.tw/ajun/archive/2007/01/26/49444.aspx</link><pubDate>Fri, 26 Jan 2007 15:40:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2007/01/26/49444.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/49444.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2007/01/26/49444.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/49444.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/49444.aspx</trackback:ping><description>&lt;p&gt;因為想要寫個javascript的function可以自動產生設定好時間區間的下拉選單,&lt;br&gt;所以寫了下面看是正統的function&lt;/p&gt; &lt;div class="CodeFormatContainer"&gt;&lt;pre class="csharpcode"&gt;var newOpt = document.createElement(&lt;span class="str"&gt;'option'&lt;/span&gt;);
newOpt.text = text;
newOpt.&lt;span class="kwrd"&gt;value&lt;/span&gt; = &lt;span class="kwrd"&gt;value&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;先用firefox測試,沒有問題,&lt;br&gt;但是換到IE(6跟7)後,卻發現下拉選單是變長了,&lt;br&gt;但是卻沒有出現項目的文字內容,&lt;br&gt;所以,在ie下,用newOpt.text跟newOpt.value應該是沒有作用的,&lt;br&gt;所以要改成如下&lt;/pre&gt;
&lt;div class="CodeFormatContainer"&gt;&lt;pre class="csharpcode"&gt;var newOpt = document.createElement(&lt;span class="str"&gt;"option"&lt;/span&gt;);
var oText = document.createTextNode(text);
newOpt.appendChild(oText);
newOpt.setAttribute(&lt;span class="str"&gt;"value"&lt;/span&gt;,&lt;span class="kwrd"&gt;value&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;變成需要使用createTextNode來建立option標籤內的文字內容,&lt;br&gt;然後再用setAttribute來設定option中的value屬性值.&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/49444.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>IE vs. FireFox 系列 - getElementsByName問題</title><link>http://blog.blueshop.com.tw/ajun/archive/2006/12/15/48230.aspx</link><pubDate>Fri, 15 Dec 2006 19:55:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2006/12/15/48230.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/48230.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2006/12/15/48230.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/48230.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/48230.aspx</trackback:ping><description>&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/48230.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>玩玩YUI - 檢查帳號是否已經被使用</title><link>http://blog.blueshop.com.tw/ajun/archive/2006/09/30/41012.aspx</link><pubDate>Sat, 30 Sep 2006 17:10:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2006/09/30/41012.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/41012.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2006/09/30/41012.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/41012.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/41012.aspx</trackback:ping><description>&lt;P&gt;&lt;STRONG style="FONT-SIZE: 1.2em"&gt;前言&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://developer.yahoo.com/yui/" target=_blank&gt;YUI&lt;/A&gt;是&lt;A href="http://developer.yahoo.com/" target=_blank&gt;Yahoo! Developer Network&lt;/A&gt;所推出的一個UI Library, &lt;BR&gt;裡面提供了不少Javascript的函式庫,讓你可以更方便的建立一個更豐富的web介面. &lt;/P&gt;
&lt;P&gt;在寫會員註冊的功能時, &lt;BR&gt;很多人應該都會需要一個檢查會員帳號是否已經有人使用的功能, &lt;BR&gt;在現在AJAX一直被提起的情況下, &lt;BR&gt;很多人應該也都想要用AJAX的概念去達到檢查帳號重覆的功能, &lt;BR&gt;而下面就是介紹怎麼使用&lt;A href="http://developer.yahoo.com/yui/" target=_blank&gt;YUI&lt;/A&gt;來寫個這樣的功能. &lt;/P&gt;
&lt;P&gt;&lt;STRONG style="FONT-SIZE: 1.2em"&gt;開始前&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;在開始寫這功能前,需要先下載&lt;A href="http://developer.yahoo.com/yui/" target=_blank&gt;YUI&lt;/A&gt;, &lt;BR&gt;在筆者寫這篇文章時,&lt;A href="http://developer.yahoo.com/yui/" target=_blank&gt;YUI&lt;/A&gt;的最新版本是0.11.4, &lt;BR&gt;檔案可以在&lt;A href="http://sourceforge.net/projects/yui" target=_blank&gt;這邊&lt;/A&gt;找到. &lt;/P&gt;
&lt;P&gt;下在的檔案中包含了說明文件,範例及程式, &lt;BR&gt;而這次所要用的只有connection manager的功能, &lt;BR&gt;所以只要兩個檔案,一個是yahoo.js,一個是connection.js &lt;BR&gt;yahoo.js可以在build/yahoo中找到, &lt;BR&gt;而connection.js則是在build/connection中, &lt;BR&gt;在build/yahoo中都個"yahoo-min.js"的檔案, &lt;BR&gt;這個檔案的內容跟yahoo.js一樣,只是他將一些排版用的空格或是換行移掉以減少檔案的大小, &lt;BR&gt;所以如果你的網站對傳輸的資料量很在意的話,那就可以使用yahoo-min.js. &lt;BR&gt;而connection.js跟其他的js檔也都是如此. &lt;/P&gt;
&lt;P&gt;所以準備好這兩個檔案後,在來就開始要寫程式了! &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 1.2em"&gt;&lt;STRONG&gt;開始寫嘍!!&lt;/STRONG&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR&gt;要使用AJAX的東西,程式的重點都是在前台的javascript, &lt;BR&gt;而後台為了測試,所以我們只寫個簡單的判斷回傳0跟1, &lt;BR&gt;程式碼如下 : &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #ff0000"&gt;&amp;lt;% &lt;BR&gt;If request("uid") = "adam" Then &lt;BR&gt;response.write("1") &lt;BR&gt;Else &lt;BR&gt;response.write("0") &lt;BR&gt;End If &lt;BR&gt;%&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;當所接收到的帳號為adam時,回傳1,否則回傳0, &lt;BR&gt;而實際應用時,當然就是去撈資料庫,判斷有無資料後再回傳1或0 &lt;/P&gt;
&lt;P&gt;在來,進入重點, &lt;BR&gt;在註冊的頁面將兩個js檔加進去, &lt;BR&gt;程式如下 : &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #ff0000"&gt;&amp;lt;script src="yahoo.js"&amp;gt;&amp;lt;/script&amp;gt; &lt;BR&gt;&amp;lt;script src="connection.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;然後在帳號欄位旁多個按鈕,按下後去檢查帳號, &lt;BR&gt;然後在下面在加個div去顯示是否已經有此帳號, &lt;BR&gt;而程式碼如下 &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #ff0000"&gt;&amp;lt;INPUT TYPE="text" NAME="tbxuid" id="tbxuid"&amp;gt; &lt;BR&gt;&amp;lt;INPUT TYPE="button" name="btnchk" value="檢查帳號" onclick="chkid('tbxuid');"&amp;gt; &lt;BR&gt;&amp;lt;div id="msg"&amp;gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;當檢查帳號的按鈕被按下後,呼叫chkid的js, &lt;BR&gt;而chkid的程式碼如下 : &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #ff0000"&gt;function chkid(objname){ &lt;BR&gt;var obj = document.getElementById(objname); &lt;BR&gt;&lt;SPAN style="COLOR: #008000"&gt;//設定查詢用的後端程式路徑,並將帳號資料帶入&lt;/SPAN&gt; &lt;BR&gt;var sUrl = "yahoo_chkuid.asp?uid=" + obj.value;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #008000"&gt;//宣告設定連線完成後要執行的function&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: #ff0000"&gt;var handleSuccess = function(o){ &lt;BR&gt;if(o.responseText !== undefined){ &lt;BR&gt;var div = document.getElementById("msg");&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: #008000"&gt;//當連線無誤後,我們可以取得所回傳回來的內容, &lt;BR&gt;//內容可以使用o.responseText取得,至於其他的屬性狀態可以參考YUI的說明文件, &lt;BR&gt;//因為我們後端的程式只會傳回1或0,所以我們只需要判斷responseText 是不是為1或0即可. &lt;BR&gt;//然後在將訊息顯示在msg這個div中, &lt;BR&gt;//用innerHTML除了是可以顯示html外,因為firefox並沒有innerText這屬性, &lt;BR&gt;//所以為了讓IE跟Firefox都可以正常無誤,所以需要使用innerHTML&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: #ff0000"&gt;if (o.responseText == "1") &lt;BR&gt;{ &lt;BR&gt;div.innerHTML = "&amp;lt;font color='red'&amp;gt;此帳號已經有人使用&amp;lt;/font&amp;gt;"; &lt;BR&gt;}else{ &lt;BR&gt;div.innerHTML = "此帳號可以使用"; &lt;BR&gt;} &lt;BR&gt;} &lt;BR&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #008000"&gt;//宣告設定連線失敗時要執行的function&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: #ff0000"&gt;var handleFailure = function(o){ &lt;BR&gt;alert("Error : " + o.statusText + "\nPlease try again."); &lt;BR&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #008000"&gt;//宣告callback,定義成功及失敗所要呼叫的函數 &lt;BR&gt;//handleSuccess跟handleFailure是上面宣告的名稱而定&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: #ff0000"&gt;var callback = &lt;BR&gt;{ &lt;BR&gt;success:handleSuccess, &lt;BR&gt;failure: handleFailure &lt;BR&gt;};&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #008000"&gt;//執行連線動作&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: #ff0000"&gt;var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); &lt;BR&gt;} &lt;BR&gt;&lt;/SPAN&gt;&lt;BR&gt;如此,檢查帳號重覆的功能就完成了. &lt;BR&gt;下面是這個程式的範例及程式碼下載! &lt;/P&gt;
&lt;P&gt;範例 : &lt;A href="http://vip.blueshop.com.tw/ajun/yahoo_chkuid.htm" target=_blank&gt;http://vip.blueshop.com.tw/ajun/yahoo_chkuid.htm&lt;/A&gt; &lt;BR&gt;程式碼(未包含YUI的js檔) : &lt;A href="http://vip.blueshop.com.tw/ajun/file/yahoo_chkuid.rar"&gt;http://vip.blueshop.com.tw/ajun/file/yahoo_chkuid.rar&lt;/A&gt; &lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/41012.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>Lightbox 2.0</title><link>http://blog.blueshop.com.tw/ajun/archive/2006/09/20/39602.aspx</link><pubDate>Wed, 20 Sep 2006 09:50:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2006/09/20/39602.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/39602.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2006/09/20/39602.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/39602.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/39602.aspx</trackback:ping><description>摘要 : &lt;BR&gt;Lightbox是一個網頁的圖片展示效果,&lt;BR&gt;中文有人翻為燈箱效果,&lt;BR&gt;此篇是Lightbox開發網站上安裝教學的翻譯文.&lt;BR&gt;
&lt;HR SIZE=1&gt;
先看效果 : &lt;A href="http://ajunlee.googlepages.com/lightbox_picasaweb.htm"&gt;LightBox 2.0 with picasaweb&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.huddletogether.com/projects/lightbox2/"&gt;LightBox 2.0&lt;/A&gt;&lt;BR&gt;ps.相關檔案請從Lightbox 2.0專案網站上下載&lt;BR&gt;&lt;BR&gt;&lt;FONT size=4&gt;如何使用:&lt;/FONT&gt;&lt;BR&gt;&lt;B&gt;第一步 - 設定&lt;/B&gt;&lt;BR&gt;
&lt;HR noShade SIZE=1&gt;
&lt;BR&gt;Lightbox v2.0 使用了 Prototype Framework 和 Scriptaculous Effects Library. 你需要先將這三個Javascript檔案設定在你網頁的header裡. &lt;BR&gt;&amp;lt;script type="text/javascript" src="js/prototype.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;script type="text/javascript" src="js/scriptaculous.js?load=effects"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;script type="text/javascript" src="js/lightbox.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;然後再將Lightbox的CSS檔也include進來 (或是將Lightbox的styles加入你現有的CSS檔中). &lt;BR&gt;&amp;lt;link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /&amp;gt;&lt;BR&gt;檢查CSS中prev.gif,next.gif的路徑是否正確,以及lightbox.js中loading.gif和close.gif的路徑是否沒問題.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;第二步 - 啟動&lt;/B&gt;&lt;BR&gt;
&lt;HR noShade SIZE=1&gt;
&lt;BR&gt;在你要觸發lightbox效果的link上加上rel="lightbox"的屬性.例如: &lt;BR&gt;&amp;lt;a href="images/image-1.jpg" rel="lightbox" title="my caption"&amp;gt;image #1&amp;lt;/a&amp;gt;&lt;BR&gt;附註: 使如果你要顯示標題的話可以使用title的屬性來設定. &lt;BR&gt;如果你有一個照片集要顯示的話,你可以在rel的屬性中加上群組的名稱. 例如: &lt;BR&gt;&amp;lt;a href="images/image-1.jpg" rel="lightbox[roadtrip]"&amp;gt;image #1&amp;lt;/a&amp;gt;&lt;BR&gt;&amp;lt;a href="images/image-2.jpg" rel="lightbox[roadtrip]"&amp;gt;image #2&amp;lt;/a&amp;gt;&lt;BR&gt;&amp;lt;a href="images/image-3.jpg" rel="lightbox[roadtrip]"&amp;gt;image #3&amp;lt;/a&amp;gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/39602.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>孤影</dc:creator><title>Textbox字數計算</title><link>http://blog.blueshop.com.tw/ajun/archive/2006/09/14/38777.aspx</link><pubDate>Thu, 14 Sep 2006 03:41:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/ajun/archive/2006/09/14/38777.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/ajun/comments/38777.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/ajun/archive/2006/09/14/38777.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/ajun/comments/commentRss/38777.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/ajun/services/trackbacks/38777.aspx</trackback:ping><description>&lt;p&gt;在&lt;a href="http://blog.xuite.net/jameswu/net" target="_blank"&gt;James&lt;/a&gt;那邊看到一篇&lt;a href="http://blog.xuite.net/jameswu/net/4739894?p=2" target="_blank"&gt;TextBox字數計算&lt;/a&gt;,
&lt;br&gt;
的確,使用者介面的友善也是關係著網站成敗.&lt;/p&gt;
&lt;p&gt;只是,我不太喜歡將所有的東西都丟到後端處理,
&lt;br&gt;
在加上最近在玩&lt;a href="http://www.huddletogether.com/projects/lightbox/" target="_blank"&gt;lightbox&lt;/a&gt;時,
&lt;br&gt;
發現這些javascript的toolkit都只要將js包進來後,
&lt;br&gt;
在要呈現這樣效果的連結或是圖片加個rel或是class的屬性就可以用了,
&lt;br&gt;
所以就想說也來寫個方便使用的TextBox字數提示功能!!&lt;/p&gt;
&lt;p&gt;現在直接說明怎麼使用.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;步驟一 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;將&lt;a href="http://ajunlee.googlepages.com/TbxLenLimit.js" target="_blank"&gt;TbxLenLimit.js&lt;/a&gt;加到要使用的頁面&lt;/p&gt;
&lt;p&gt;範例 :&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;lt;SCRIPT LANGUAGE="JavaScript" src="TbxLenLimit.js"&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;步驟二 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在要呈現字數提示的textarea加上兩個屬性&lt;span style="color: rgb(255, 0, 0);"&gt;maxlength="字數上限"&lt;/span&gt;跟&lt;span style="color: rgb(255, 0, 0);"&gt;class="ShowLen"
&lt;br&gt;&lt;/span&gt; ps.記得給textarea一個id&lt;/p&gt;
&lt;p&gt;範例 :&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;lt;TEXTAREA NAME="tbx1" id="tbx1" ROWS="6" COLS="60" maxlength="600" class="ShowLen"&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;線上demo : &lt;a href="http://ajunlee.googlepages.com/textarea_length.htm" target="_blank"&gt;textarea_length.htm&lt;/a&gt;
&lt;br&gt;
範例下載 : &lt;a href="http://ajunlee.googlepages.com/TbxLenLimit.rar" target="_blank"&gt;TbxLenLimit.rar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如果有人對程式有興趣或是想要研究討論的,歡迎回應!!&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Update:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;新增限制字串長度的功能.&lt;br&gt;如果class為ShowLen則是提示,不會裁減字串,&lt;br&gt;如果class為ShowLenLimit則除了提示外,也會自動裁減字串到設定的長度.&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;update : (2006/9/21)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;增加onchange的事件處理,以解決用滑鼠複製貼上時無法計算字數&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/ajun/aggbug/38777.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>