這發生在IE6中,當用戶打開一個彈出窗口時,會打開一個PDF。 (這部分工作)。在IE中打開一個彈出窗口 - 「找不到成員」
然後,用戶打開另一個彈出窗口,在這一點上,我得到這個錯誤。
有一個good description and a possible solution here
我的問題是這樣的:
有沒有更好的解決辦法?打開一扇窗戶並立即關閉它似乎對我來說是一個愚蠢的解決方案。
這發生在IE6中,當用戶打開一個彈出窗口時,會打開一個PDF。 (這部分工作)。在IE中打開一個彈出窗口 - 「找不到成員」
然後,用戶打開另一個彈出窗口,在這一點上,我得到這個錯誤。
有一個good description and a possible solution here
我的問題是這樣的:
有沒有更好的解決辦法?打開一扇窗戶並立即關閉它似乎對我來說是一個愚蠢的解決方案。
我想我有一個更好的解決方案,不涉及先關閉窗口。問題是,如果您嘗試再次使用空白網址(即'')打開它,IE將不會覆蓋窗口(PDF或其他)。但是,將覆蓋帶有非空URL的PDF。這可能是一個文件,但關於:空白效果更好(這是一個空的URL通常會這樣做)。
根據你的代碼是如何寫的,你可能仍然希望在try/catch語句,但這應該消除需要:
windowHandle = window.open('about:blank',name,attributes);
windowHandle.document.location.href = url;
windowHandle.focus();
關於:空白將迫使PDF出來的子窗口,並允許你做你需要做的事情。將URL和focus()的設置放在windowHandle.onload()處理程序中可能不是一個好主意,所以處理PDF時沒有任何時間問題。 I .: .:
windowHandle.onload=function(){
windowHandle.document.location.href = url;
windowHandle.focus();
};
我使用try catch塊解決了這個問題。
windowHandle = window.open('',name,attributes);
try {
windowHandle.document.location.href = url;
} catch (exc) {
windowHandle.close();
windowHandle = window.open('',name,attributes);
windowHandle.document.location.href = url + suffix;
}
windowHandle.focus();
似乎爲我工作。
有趣的是,下次出現虐待嘗試你的解決方案 – mkoryak 2009-12-21 22:39:47