2010年9月19日 星期日

IE重整(F5)的問題(用JavaScript重整)?

我想這應該是個蠢問題,但也讓我試了老半天呢!
因為要上台報告,要示範一個網頁例子給同事看,想想在沒網路的情況下,只能示範HTML囉,HTML的好處就是只要有IE就可以打開的嘛,於是寫了一個簡單的HTML,上面就一個表單,有幾個欄位與按鈕,預先在欄位裡輸入好字串,到時示範就不用打,想說到時若需輸入其他文字,就算輸入錯誤,按重整(F5)後那些欄位文字應該就會還原吧,結果實際上並非我想的那樣,按F5或Ctrl+F5結果都一樣,並沒有重新載入喔,比如說,簡化的HTML內容如下,各位可以存成.html的試試
<HTML><BODY>
<input type=text name=St size=25 value="XXX">
</BODY></HTML>
用IE打開的網頁應該長的像下面這樣吧




各位可以試試修改裡面的字串後,再按F5或Ctrl+F5看有沒有重整,看起來有重整,可是字串依然是你改過的那個對吧?這跟你所認知的是一樣的嗎?照理說按了Ctrl+F5應該連cache都清掉了才對,結果怎麼沒清呢?KB306832裡有講Ctrl+F5應該是會重新載入才對押

我把檔案放到IIS上跑跑看,結果Ctrl+F5是會重新載入網頁的,而F5則單單重整頁面而已,cache還在,除非HTML內容有變,F5才會重載網頁,這會不會很奇怪?HTML一定要放在WEB上F5或Ctrl+F5才會正常嗎?

發現連Ctrl+F5都無效的情況下,那我要怎麼示範呢?萬一打錯了難不成要關掉重開嗎!這樣就遜掉了耶!只好求助JavaScript來達成囉,上網找了一些重整的JavaScript,加在按鈕上就可以重整不是很方便嗎!但是發現有些功能像F5有些像Ctrl+F5呢,整理如下:
F5
history.go(0)
document.execCommand('Refresh')
Ctrl+F5
window.location.reload()
window.location.href=window.location.href
location=location
window.navigate(location)
重點是功能像Ctrl+F5的JavaScript,不管HTML有沒有放到WEB都可以正常執行耶,都會幫我重新載入喔,至於功能鍵Ctrl+F5為什會失效我就不研究了,反正可以達到我的需求就好

0 意見:

張貼留言