2013-03-25 68 views
1

在有人抱怨之前,我沒有使用iframes(但是在嘗試修復一個bug時,我發現這個問題與IE9中iframe有一個奇怪的行爲有關,並且它被別人編碼)。在IE9中奇怪的iframe行爲

我有被點擊後,發送到一個iframe一個JSON提交:

的問題

正在由動作正確的返回JSON:

{"JSONClass":"com.lalala.process.email.util.FileContentHolder", 
"contentType":"application/pdf","data":[],"fileLength":348364, 
"fileName":"001a.<space>bla<space>refrigeration<space><space>-<space>aaa<space>- <space>Tenderer<space>Instructions.pdf", 
"tempFileName":"C:\\Users\\humbleUser\\AppData\\Local\\Temp\\UPLOADED_7567343180347343279_001a.<space>bla<space>refrigeration<space><space>-<space>aaa<space>-<space>TendererInstructions.pdf"} 

問題在於文件名:冷藏詞後有兩個空格。當我們通過使用target="upload_target"將此json發送到iframe時,它將到達iframe,而不會出現這些空格之一。例如:

,如果我們有一個文件:test1.pdf,在IE瀏覽器,它進入的iframe作爲test1.pdf

爲什麼我們有這種行爲?當然這不會發生在Firefox中。

回答

1

我可以看到沒有人從未面對過它,我斷定它是IE瀏覽器的另一個問題,是必須考慮的連續的空格作爲唯一的一個。在搜索時,我注意到這是文件名的常見問題,我們可以在這個link中看到。

無論如何,在我看來,這個問題的答案是它是來自IE的一個bug。 我解決了我的錯誤(當用戶試圖上傳包含多個連續空白的文件名的文件時,它沒有被正確保存,因爲這些空格被減少到只有一個,所以我通過用下劃線替換空格來修復它,完美!)