2009-06-12 644 views

回答

4

我想我有一個更好的解決方案,不涉及先關閉窗口。問題是,如果您嘗試再次使用空白網址(即'')打開它,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(); 
}; 
2

我使用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(); 

似乎爲我工作。

+0

有趣的是,下次出現虐待嘗試你的解決方案 – mkoryak 2009-12-21 22:39:47

相關問題