大部份在寫網頁要上傳檔案時都需要使用到iframe做一個中繼,可是如果上傳POST時有錯訊息時,前一個iframe資料就會變成記錄history,而此時如果使用者重新整理時,就會遇到暫存資料的問題,iframe裡的內容會再被執行一次。
以下有一個JavaScript方法,可以在檢查完所有form條件時才自動建立iframe內容createiFrame做post動作,而重新整理時(或第一次進入此畫面時)又不會真實存在,來解決暫存的問題。
當呼叫createIFrame時,會在body這一個tab建立一個iframe元素,並把需求屬性設定好,像是frameborder=0、width=0、height=0等。
function createIFrame() { if (!document.getElementById("_hiddenframe")) { var frame = document.createElement("iframe"); frame.setAttribute("name", "_hiddenframe1"); frame.setAttribute("src", "about:blank"); frame.setAttribute("frameborder", "0"); frame.setAttribute("height", "0"); frame.setAttribute("width", "0"); frame.setAttribute("id", "_hiddenframe"); frame.name = "_hiddenframe"; document.body.appendChild(frame); window.frames._hiddenframe.name = "_hiddenframe"; document.getElementsByTagName("body")[0].appendChild(frame); } }