昨天看了電腦玩物介紹了FeedJIT,可以介紹最近十個到站網友從何處連來,由於挺好玩的,又很容易安裝,所以我就順手裝到我的Blog上(請看右方SideBar最下方)。

沒想到從此網頁就跳出了以下的Javascript:
Line: 1 Error: Invalid argument.

用Visual Studio Debugger追到的結果是出在FeedJIT的Script,問題出在這一列:
if(/^(http:\/\/|\/)/.test(_c[i].href))

立刻用偵錯視窗檢查一下,原來是上回介紹IE7拒絕承認Unicode UrlEncode Link的Blog文章,編輯時有個示範連結被CS 2.1變成真的Link了: (我把http換成httq了,省得又被誤轉成Link)

?_c[i].outerHTML
"<A href="httq://myweb/MyApp/%u4E0A%u4E0B.htm">httq://myweb/MyApp/%u4E0A%u4E0B.htm</A>"

接著下面這個測試更有意思了:

?_c[i].href
Invalid argument

原來在IE7裡,若Link被判定有問題,連.href都會失效。

知道了問題所在,把前述的Unicode UrlEncode URL移除,問題就消失了。我還發了封Mail給FeedJIT,提醒他們的script要加上try會比較保險,如果有獲得善意回應(註),再跟大家報告。

註: 我是個雞婆的人,發現別人網站有Script Error之類的,都會寫信給網站上列出的WebMaster信箱,只是做過幾次都沒什麼下文。其中回報地瓜新聞在IE會有Script Error(大概他們只用Firefox吧!)沒人理我,還有一次抓到某個活動網站有SQL Injection漏洞,對方回覆說問了廠商,廠商說沒問題就當沒事,直到活動結束,漏洞都還留著,唉~~~


Comments

Be the first to post a comment

Post a comment