網頁

2014年12月22日 星期一

解決IE11無法正確取得parent的問題

曾經遇過IE11開啟新視窗處理新事件,結果卻取不到回傳值,ie10以前版本及火狐、chrome都正常。
所以記錄下來備忘。
先增加一檢查瀏覽器版本的函數
 //檢查瀏覽器版本
function chkBrowserisIE11() {
  var userAgent = navigator.userAgent.toLowerCase();
  var rMsie = /(msie\s|trident.*rv:)([\w.]+)/;
  var match = rMsie.exec(userAgent);
  if(match != null){
    var vNumber=match[2].split(".")[0];
    if (vNumber >= 11){
      return true;
    }
    return false;
  }
  return false;
 }

檢查如果是ie11,則取用window.parent.opener,否則無法正確回傳值。
var flag = chkBrowserisIE11();
var pe;
if (flag) {
    pe = window.parent.opener;
}
else {
    pe = parent;
}

沒有留言:

張貼留言