天天看點

關于showmodaldialog的問題處理

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

1、showmodaldialog中的資料顯示。

起因:

在IE6中showmodaldialog打開的對話框所加載的資料不是最新的資料。對話框中的内容會一直與第一次打開的内容相同,即使伺服器上這些資料已經修改或是删除,對話框仍然會顯示原來的内容。

實作要求:

對話框每次打開都顯示最新的正确資料,及時影響資料的變化。

解決方案:

造成此問題的原因是因為IE6的緩存,第一次打開後對話框内容會放入緩存,再次打開時IE就會加載緩存中的内容而不會重新請求新的頁面。直接有效的辦法是在IE選項中清空緩存,但程式員是沒權力這樣要求使用者的。是以,解決的辦法是每次打開對話框時使用不同的URL。在要打開頁面的URL後加一個參數,隻要保證這個參數在每次打開對話框時是不同的,IE就會重新請求頁面擷取新的資料了。

提示:URL後的參數可以用時間或是随機數實作。

2、在關閉showmodaldialog的對話框時進行一些動作。

在很多時候希望關閉對話框時進行一些處理,這裡指的是用對話框窗體上的關閉按鈕進行關閉的情況。

點選關閉後執行相應代碼,并關閉對話框。

在window.onunload()中添加一個處理過程,就可以在此過程中實作要完成的動作了。

具體的做法是在腳本标簽中添加如下代碼:

window.onunload()=function(){}

提示:這裡不能用window.close()。在IE6和FF3測試用window.close()時,其中的代碼并沒有執行。

本文轉自 netcorner 部落格園部落格,原文連結:http://www.cnblogs.com/netcorner/archive/2012/08/14/2911902.html   ,如需轉載請自行聯系原作者

繼續閱讀