2008-05-01 22:14

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

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

  1. //要回傳的陣列 
  2. var selData=["A","B","C","D"]; 
  3.  
  4. //清空母視窗的陣列,將陣列長度設為零 
  5. window.opener.resultArray.length = 0; 
  6.  
  7. //將參數值填入母視窗的陣列中 
  8. for(i=0,l=selData.length; i<l; i++){ 
  9.    window.opener.resultArray.push(selData[i]); 
  10. } 


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


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

0 回應: