201112152230iframe裡a連結呼叫javascript function方式

繼前一篇在iframe裡使用jquery file upload元件後....

為了要避免檔案上載到的資料夾被人或搜尋引擎直接從網址存取到,

把檔案讀取的方式改為用ServletOutputStream方式讓用戶下載...

但偏偏tomcat對於文字編碼的能力實在有點弱@@

中文檔名用GET方式傳送收進servlet經過ISO-8859-1轉成Big5後在IE環境下沒問題,在chrome卻不行....暈~

在不斷換編碼的嘗試下...一下又變成chrome正常然後IE不正常...

最後決定改用javascript方式進行隱藏表單傳送...

但卻發現一個問題....在iframe裡頭如果放個連結像下面這樣子...

在IE確是無法開啟的狀況...但在chrome卻能下載...只能說chrome比較聰明

<a href="javascript:getFile('中文擋名')" target="_blank">中文擋名</a>

 

但換成下面這樣卻IE與chrome都正常

<a href="javascript:alert('hihi')" target="_blank">中文擋名</a>

 

試了很多其它方法後...必須改成下面這樣的寫法才能夠同時支援IE與chrome...

<a href="javascript://" onclick="getFile('中文擋名')" target="_blank">中文擋名</a>

 

簡單地說...在iframe裡要call javascript function最好使用onclick的方呼叫...

回應