2008-05-01

在 IE 中對 window.open (子視窗)的參數傳遞

由於子視窗和母視窗是使用不同的 document,在 IE 的架構上不可以對母視窗作 call by reference,要先將要用的值設定給母視窗的變數,再作函數呼叫,在 JavaScript 中字串的屬性是一般變數值,不會有 reference 的現象。

//要回傳的陣列
var selData=["A","B","C","D"];

//清空母視窗的陣列,將陣列長度設為零
window.opener.resultArray.length = 0;

//將參數值填入母視窗的陣列中
for(i=0,l=selData.length; i<l; i++){
    window.opener.resultArray.push(selData[i]);
}


參考來源:請問子母視窗如何傳遞變數


結論:IE 真的很麻煩!難道不可以允許符合邏輯的語法嗎?

0 回應: