星期日, 9月 03, 2006

Yeah!Comments功能完成

今天的戰役完全是和IE的奮鬥,在電腦前面不斷的和local copy以及IE超模糊的錯誤訊息奮戰(「引數無效」「未知執行期間錯誤」),但總算是讓IE Comment的顯示工作也成功了XD

今天和IE的奮鬥有幾個小感想:

第一,不要相信MSDN,很多事情MSDN沒有告訴你,特別是IE JS engine的臭蟲。
第二,不要改已存在div的innerHTML,不然有可能出事,基本上出不出事要看IE的心情,有時候一樣的語法在某檔好好的,複製貼上到另一份code就爆死,「未知執行期間錯誤」,你的code紅牌一張。
第三,IE的removeChild好像有問題,雖然MSDN上是說removeChild(obj)會把obj從DOM tree上吃掉,可是實際使用感覺上他吃掉的好像是該敘述前後五行的Javascript code....

想要看Code的就檢視原始碼吧XD,HTML body後面一大段script就是了XD
---
小後記

其實還有個有趣的現象,比如http://d8888.blogspot.com/comment.html#links這種連結,IE用位址欄直接開是沒有問題的,但是如果用XMLHttpRequest的話就要把後面的#links拿掉再呼叫open,不然blogger會404。

IE這種東西碰久會瘋掉,終於知道為甚麼很多Web developer都挺firefox,所謂IE的精神,就是該限制的不限制,不該限制的限制一大堆,官方文件永遠不準,只要有API就會有bug,更神的是呼叫IE的API還要看IE心情好不好.... 全文連結

星期六, 9月 02, 2006

嗚....蟲抓不出來....

其實應該說是解決不了...去google「Unknown Runtime Error」這個東西,好像是IE從4還是5就有的「優良傳統」之一。好像只要想填入的innerHTML滿足某些特定條件就會發作,所以網路上的解法是把要填進去的東西作控管,不過這我好像做不來orz

所以目前的解決辦法就是script前面加一段,只要偵測到瀏覽器支援document.all,Script就放棄執行。所以想看到我所加入動態效果的看官們,請愛用firefox這些更乾淨,更friendly的瀏覽器吧(不只是對User而言,對developer也是啊XD)

P.S如果有看官想要拿script來看的話,檢視原始碼就看得到了XD 全文連結

星期五, 9月 01, 2006

comment終於有作用了

拼了好幾天,終於讓這個功能在firefox實現出來。各位使用firefox的看官可以嘗試按按看回文數大於零的comment連結(1 comments,2 comments),應該會注意到他跑出下拉式的小東西,而不是直接開新分頁。至於使用M$IE的看官們不用試了orz,他不會理你orz,因為IE處理自己發明的innerHTML好像有bug orz。

今天真是披荊斬棘啊,script插入不能的問題解決了,只要遵守一下XML的規則,用CDATA把script包起來即可。script本身也出過一大堆包,最後怎麼修好的自己都忘記了orz,因為glitch實在太多,有時在自己blog的local copy上實做完全成功,一拿到真正的環境立刻爆死orz。

啊啊啊啊,明天再繼續抓蟲吧~~~~~~ 全文連結

嗚.........

雖然年紀已經比較大了,但是到了現在,仍然有很多事物令我感到神秘。

比如說寫一個Javascript,費盡千辛萬苦,在本地電腦的blogger網誌存檔可以跑,但是當想要真的拿來用,嘗試在template新增Javascript/HTML區段時,卻發現他會自動改code,比如單引號自動變雙引號,還有很多謎之斷句,把code千刀萬剮到面目全非,這是一種神秘。

在網頁中插入<script src="blahblahblah">讓網頁載入Javascript並且執行,這不是什麼驚人的事情,但是當網頁中插入script tag並且指定來源,網頁還是不會跑script,就算裡面只有一行alert("hi")也一樣,這才是神秘的事情,

blogger真是令人扼腕啊...經過長久的苦戰,好不容易發現,點本文permalink可以看到本文和comment,而且permalink和首頁同一個domain,用XMLHttpRequest開絕對沒問題,結果現在問題是blogger根本不理我插進去的Javascript =口=

發現HTML 直接編輯可以開耶....下次研究看看blogger有沒有提供直接加template tag好了..... 全文連結

星期四, 8月 31, 2006

星期三, 8月 30, 2006

三篇文章

網路上亂逛的時候無意間逛到的

文章一

這篇文章解釋了一個如何藉由將一個特殊設計的HTML form送到某web server而入侵其內部網路的方法。

文章二

這篇文章解釋了Flash的危險性,Flash裡面不但可以塞Script,而且裡面的script不會作Domain check,也就是只要某個網站可以放flash,就可以讓每個使用者看到這個網頁就把自己的cookie送出去,然後就任憑壞人!(%&!@*(&^*了

文章三

在AJAX大為流行的現在,攻擊使用者的手法也變得多樣化orz 全文連結

星期一, 8月 28, 2006

Tiddly Wiki

官方網址

這是今天補完生統後,在Download雜誌上看到的。


這個Wiki最大的特色就是完全的client-side。整個「程式」只包含一個HTML檔,而互動性以及區域檔案存取等全部都透過Javascript完成。但是這個Wiki完全沒有Server side component,所以只能當作自己的個人筆記本使用,不過網路上據說改過的版本一堆就是了XD 全文連結

星期日, 8月 27, 2006

小T新竹行

一段時間以前,好友Twsam和DNA、dream就放出要來新竹玩的消息。本來是說要來台北找我,但因為我在台北沒什麼活動的據點,來台北也只能一起打打嘴炮然後回去,不像到新竹可以找到電腦教室瘋狂玩世紀(世紀二,不是世紀三,世紀三畫面華麗,可是感覺難玩的要死orz),所以昨天改成請我去新竹玩。經過一再的拜託後,媽媽大人也首肯了XD

自己一個人去新竹,實在是一門挑戰,因為本座是大路癡,不大會自己坐客運。而火車這種東西,自從高中來台北參加程式設計全國總決賽以來就沒碰過=口=,所以就懷著忐忑不安的心情,自己鼓起勇氣向服務員買了車票進了車站,然後再一路問人問到我想要的月台。

一個半小時以後就到達了新竹,由Twsam帶我到交大。

在台北大家用電腦討論新竹之行的時候,DNA和Twsam就不斷討論交大吃「ㄆㄨㄣ」的活動,我和Twsam到了交大,首先是叫醒DNA和Dream以後,DNA看起來還是如同往常一樣瘦瘦的,dream看起來還是那副令人懷念的鳥樣,Twsam也是依舊全身充滿了精力。

叫完人以後,就去學生餐廳吃了所謂的「ㄆㄨㄣ」。

「ㄆㄨㄣ」的真面目其實就是學生餐廳的伙食orz,價格以重量計費,選好要的菜,拿給阿姨讓她加飯以後就拿去秤重。菜色方面,後來想想真的不太好吃XD,薯餅好像是炸好了擺很久,豆腐吃起來索然無味,青菜勉強可以,排骨好像是穿越時空找上我的=.=(Twsam:「這裡的排骨,是那種你放著請別人幫你吃,別人也不會想幫你吃的那種」),Twsam在吃飯的時候一邊不斷指責我的戰略錯誤,說我不應該拿有骨頭還有會吸水的東西,一邊吃著他那盒經過精密計算,整盒看起來乾到不行的午餐。


吃完飯以後大家就進入了交大的電腦教室,然後四個人開始瘋狂的打世紀。總共打了四場吧。前兩場四人打四最難電腦,因為我太久沒玩,所以我家一下子就被電腦以癌細胞之姿滲透,然後被完全破壞,然後就是村民大逃難,寄生到別人家中,最後還是完蛋,後面兩場我開始回憶起怎麼玩,在穩健的步伐下出兵幫人,對於圍牆的使用感覺也恢復了,比較不會被電腦像癌細胞一樣滲透。

隊友的幫助在團體遊戲真的很重要,前面兩場我被快速滅亡,平衡被破壞,結果局勢就一面倒,但是後面兩場因為我功夫恢復,可以派兵支援隊友,所以就可以撐到後期電腦比較笨的時候,然後在遊戲中獲勝。適時的幫忙是很重要的,印象中有一場我用法國人,在DNA家快被滅掉的時候即時派一隊騎兵(升級順序印象中好像是騎兵->騎士->遊俠)成功的幫DNA解危,然後他的勢力就開始強壯了起來,遊戲也順利的進行。(DNA的說法是:「靠,家中被一大堆電腦包圍以後,又看到一大隊黃色的騎兵衝過來,想說完蛋了,沒想到這隊騎兵竟然是d8888派來的」「第一次看到黃色的時候,還以為是敵人」「在攻擊電腦的城的時候,看到數量很大的軍隊,嚇了一跳,但是當看到內容是大量連弩和衝車時,才知道是d8888的軍隊了」「每次在打快死的電腦賺分數的時候,d8888總是最後才出現」)


世紀打完了以後DNA他們決定去吃飯,不顧我的抱怨,「優先」把我送回台北。為甚麼要抱怨呢?因為坐車時間大概是固定的,所以在新竹花的時間越多,「有效聚會時間比例」越大。但是他們到最後還是以怕塞車為理由,硬是把我塞進了飛狗巴士,丟回台北。大概算一下,今天包含新竹火車站到交大的交通時間,大概有三點多個小時花在交通,而實際打世紀的時間只有五個小時,有點不符合比例耶orz


不過更扯的事情是在從飛狗巴士總站要回家時發生的,我被算命先生叫住,然後他說我長相很不錯,而且看起來今年命犯桃花,問我今年有沒有交到女朋友(第一句話就不準XD),他說只要我交出兩百塊,就可以幫我預言一生之中的重要事件XD,不過我還是選擇了落荒而逃XD。 全文連結

星期六, 8月 26, 2006

一本Ajax的書

覺得Manning的書真的不錯XD,電腦書大概有兩種類型,一種是寫的像字典,精細詳備可是會看的暈頭轉向,一種是入門書,寫的淺顯易懂可是不會cover太多深入的細節還有用法。Manning的Ajax in action給我的感覺是介於這兩者之間。

這本書基本上建議有CSS和Javascript的人來讀,因為這本書對於CSS和Javascript只是稍稍帶過,講些基本的東西,對於Javascript有興趣卻沒有基礎的人可以去這裡稍微學點入門的Javascript(然後感受JS帶給你巨大的痛苦),CSS可以去這裡學點入門,不過相對於JS,CSS入門簡單一點,也可以直接看這本。

這本書除了一般必有的語法之外也從實際的角度做了點切入,比如安全性、robustness等,不錯的書啊XD 全文連結

星期四, 8月 24, 2006

星期三, 8月 23, 2006

iframe也敗了

之前用XMLHttpRequest想要動態抓comment失敗以後,決定改用iframe代替XMLHttpRequest。結果firefox冷冷的告訴我:


Error: uncaught exception: Permission denied to get property HTMLDocument.innerHTML


查了一下,果然又是防止XSS的安全措施,黃牌一張。

思考了一段時間以後,想到可以在自己網頁的comment裡面塞script,然後document和iframe就可以透過那個script進行美麗的交流,於是,抱著僥倖的心理,我打開了一篇古早文的comment,並且把寫好的script塞進那個白色方格子裡面。結果


Your HTML cannot be accepted: Tag is not allowed: <script type="text/javascript">


如同各位看官所見,那個錯誤訊息真的是紅色的,紅牌一張。不過想想也蠻笨的,comment可以塞Javascript,那是多大的「機會」啊XDDDD

失敗了這麼多次,我想還是乖乖等template tag出來好了XD 全文連結

7-11商品

最近逛7-11看到種有趣的商品。第一種是紙杯湯,一杯好像二十五元左右,我喝過酸辣湯口味的。感想是:只要按照杯子上的指定方法沖泡,那麼成品相較於原版的重現性真的很高,真的值得推薦XD

第二種商品是五六十塊一碗的泡麵,商品的目的應該已經不同於傳統泡麵了,我猜可能是重現某些東西的原味吧。

7-11有很多好東西啊,大家多逛喔XD 全文連結

星期二, 8月 22, 2006

再次失敗

因為現在的blogger beta不讓我用template tags,但是我又希望能夠在文章結尾直接顯示comments,所以最近又開始寫AJAX了。理想是在右邊的sidebar加一個element然後在裡面塞Javascript(所以應該有人來逛站的時候碰到一堆「debug1」「hi」這些alert吧...當時程式寫到渾然忘我,忘記這是公開的站,真是抱歉啊orz),再由該Javascript對部落格的本文進行簡單的字串搜索(反正getElementsByTagName把href裡面有「comment.g」的a全部抓來就是了XD),然後AJAX的標準步驟,開XMLHTTPRequest,get那些抓出來的a,send,callback function抓responseText,然後用微軟發明的超強innerHTML超暴力語法(~大心~)將responseText塞到本文正確的位址去。

本來想說會成功的,可是卻敗在firefox的安全設定之下,UniversalBrowserread就是不給我開~>"<~,看來只好回去讀Ajax的書了。 全文連結

星期一, 8月 21, 2006

星期日, 8月 20, 2006

布丁

從沒覺得布丁這麼好吃

因為拉肚子的緣故,所以晚餐只有吃魚和一點點的飯,結果就一直餓肚子。

之後我妹拿了個布丁出來....她自己吃,當然身為家人的我和我媽會盡到檢查食品有沒有毒的義務,畢竟這年頭食品問題太多了,各位看官您說不是嗎XD

問了一下我媽,拉肚子能不能吃布丁,媽媽說可以耶XD,因為布丁不會油不會辣而且還算好消化:D

結果我就拿著零錢衝去樓下的7-11買布丁了,回到家中一口氣吃了兩個,滑溜的口感,甜美的滋味,柔軟的觸覺,只差沒有流下感動的眼淚。

各位看官要知道,吃東西千萬不能太快啊orz 全文連結