大部份在寫網頁要上傳檔案時都需要使用到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);
}
}