顯示具有 CodeNote 標籤的文章。 顯示所有文章
顯示具有 CodeNote 標籤的文章。 顯示所有文章

2008年6月28日 星期六

[Broswer] IE`s behavior in HTML

IE不安全的行為:

1.IE繪出HTML內容網頁畫面是以tag順序而定,即由上到下一個一個tag的方式解析。

也就是說,如果在</head>裡利用<script src="xxx.js" type="text/javascript">,include一份叫做xxx.js的外部檔,而且這個檔案又在自己內部的再動態include一份(假設是yyy.js),IE不會等到這yyy.js檔案解析完畢才繼續往下讀,當它發現xxx.js已經掃描完畢之後,就會直接向下掃另一個tag。而另一份yyy.js則在IE繼續往下解析時,同時動態被載入。(若yyy.js本身很大,載入就會更慢)

解決辦法:無法控制IE對外部檔案的載入順序, 目前作法是將動態include的檔案移出來直接寫在HTML那份文件中,有需要的話,可以控制畫面的顯示,等到外部檔都載入完畢,再顯示網頁畫面。

2.IE對取消鈕視而不見(測試過版本:IE6、IE7)。

使用表單的post method將檔案上傳,上傳完畢後,若不小心按到重新整理網頁,會跳出視窗詢問你是否要重新上傳資料。在Fx和IE底下都會跳出提醒視窗,應該是使用post方式上傳資料的標準模式(我猜啦)。但問題就發生在IE身上,當我們按下取消鈕,不要讓他重送時,IE仍然自作主張將資料重新送出,完全不受教(翻桌)。

解決辦法:參考來源

(1) 在server端使用session控制或使用驗證碼控制

(2) 重新導向<form action="zzz.html">中指定的網頁:這樣瀏覽器會將他們視為新的一頁,而不是剛剛上傳過檔案的那一頁,也能成功地避開重新整理時的詢問視窗。

2008年4月24日 星期四

[Javscript] Date() : setTime()

Javascript Core中的setTime()其他設定時間的內建函式,皆無法指定時區(Time Zone),因為說明上清楚明白地表示"according to local time",並且是直接擷取瀏覽器(即本機)的時區設定。

如果要存取非本機的時間物件(Date object),例如在遠端電腦的瀏覽器上顯示embaded linux系統時間,不要用Javascript做時間物件(Date object)的處理,不安全也不可掌控。

故,以後不要再玩把毫秒轉成時間格式後(28800000→1970/1/1 08:00:00 GMT),還想轉回去毫秒並指定不同時區的遊戲了。

唉..filter之路真難行。