2005 11 24 16 43 IE vs FireFox

IE vs Firefox 指的不是 performance,
而是一些關於programming的不同點.
我所用的版本:
IE是 6.0.2800.1106
FireFox是 1.5 RC3

case 0:
Content-Disposition: attachment; filename=abc
這一行代表的是HTTP header用來讓browser出現下載視窗的,
而所用的檔名是"abc".

IE 與 FireFox 都出現popup視窗,所顯示的檔名是正確的.
之後另存新檔的預設檔名也是正確的

case 1:
Content-Disposition: attachment; filename=%b4%fa%b8%d5
這一行代表的是HTTP header用來讓browser出現下載視窗的,
而所用的檔名是"測試".

IE 會出現popup window裡面的檔名是空白.
但是你選擇另存新檔,所出現的預設檔名卻又變成正確的"測試".

FireFox 沒有對編碼過的檔名作處理.
所以出現的檔名變成"%b4%fa%b8%d5".

case 2:
Content-Disposition: attachment; filename =%b4%fa%b8%d5
讓filename與=之間出現空白.

IE跟Firefox 得到跟 case 1一樣的結果.

case 3:
Content-Disposition: attachment; filename = %b4%fa%b8%d5
讓filename與=以及跟檔名之間出現空白.

IE跟Firefox 得到跟 case 1一樣的結果.

case 4:
print "Content-Disposition: attachment; filename=%2c%6e%66%8a
utf-16 上場了.

IE 試著解出檔名,結果卻是變成這樣",nf".

FireFox 還是跟之前一樣,沒有對編碼過的檔名作處理。
所以出現的檔名變成"%2c%6e%66%8a"。


case 5:
Content-Disposition: attachment; filename=%e6%b8%ac%e8%a9%a6
換 utf-8 了。

IE 在 popup window 出現的檔名是正確的"測試".
但在另存新檔的預設檔名卻變成"皜祈岫"

FireFox 還是跟之前一樣,沒有對編碼過的檔名作處理。
所以出現的檔名變成"%e6%b8%ac%e8%a9%a6"


case 6:
Content-Disposition: attachment; filename=*abc
在檔名裡用非法字元.

IE 在 下載視窗裡會出現奇怪的檔名 "CAZMOR7P." ,我猜很有可能是用來放在Cache的暫存檔名。按下另存新檔,還是出現一樣的暫存檔名.

FireFox 在這個case上有較不同的解法,她會用'-'去取代非法的字元。
所以得到的檔名就變成了"-abc".


case 7:
Content-Disposition: attachment; filename=abc
Content-Disposition: attachment; filename=abc
出現重複的檔名.

IE 在下載視窗裡會出現"abc, attachment". 在按下儲存檔案後,在另存新檔的預設檔名依舊是"abc, attachment"。而多出來的 "attachment"似乎是從第二行的 attachment 被加進去的。

FireFox 出現的檔名是 "abc," 少了 attachment。 在按下儲存檔案後,在另存新檔的預設檔名也是"abc,"。

case 8:
Content-Disposition: attachment; filename="abc"
Content-Disposition: attachment; filename="abc"
出現重複的檔名,跟之前不同的是有用雙引號刮起來。

IE的結果跟case 6類似,出現"CALG6PXB."。

FireFox 則是拿到正確的檔名 "abc"。


case 9:
Content-Disposition: attachment; filename="abc1"
Content-Disposition: attachment; filename="abc2"
出現重複的檔名,跟之前不同的是有用雙引號刮起來。

IE的結果跟case 6類似,出現"CALG6PXB."。

FireFox 則是選擇一開始就先拿到的filename "abc1"。

case 10:
Content-Disposition: filename="abc"
拿掉"attachment;"

IE 根本不會出現 popup 視窗,直接顯示檔案內容。

FireFox 也跟 IE 相同行為。

case 11:
Content-Disposition: filename="abc"; attachment

IE 會跟原本行為一樣,顯示popup視窗,檔名為"abc"。

FireFox 則會不認識檔名,就直接顯示檔案內容。

case 12:
Content-Disposition: filename="abc1"; attachment
Content-Disposition: attachment; filename="abc2"

這一次 IE 就表現正常,用"abc1"當作檔名。

而 FireFox 還是一樣直接顯示檔案內容。