2011-07-26 211 views
0

我想用window.open(url)打開一個指向PDF的URL。在IE中,彈出窗口閃爍並且沒有任何事情發生。當我直接使用IE瀏覽器訪問相同的網址時,PDF可以完美地打開。 在下面的HTML中,當我點擊鏈接時,我得到PDF,但window.open失敗。而且,如果我在window.open中提供PDF的直接鏈接,那也可以很好地工作。任何機構都可以從中看到這一點嗎?window.open(url)無法下載pdf文件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
</HEAD> 

<BODY> 
    <a href="http://phx.corporate-ir.net/External.File?item=UGFyZW50SUQ9NDk2Mjl8Q2hpbGRJRD0tMXxUeXBlPTM=&t=1">Link</a> 
<script> 
    url = "http://phx.corporate-ir.net/External.File?item=UGFyZW50SUQ9NDk2Mjl8Q2hpbGRJRD0tMXxUeXBlPTM=&t=1";   
    window.open(url);   
</script> 
</BODY> 
</HTML> 

感謝

回答

3

大多數瀏覽器阻止window.open時,爲了避免彈出式廣告,而無需用戶交互調用。

爲什麼要這樣做呢?相反,您應直接鏈接到原始文檔中的PDF,如果它必須位於新窗口中,您可以使用target="_blank"。 (請記住,如果網站打開新窗口,有些用戶不喜歡它)。

+0

我沒有直接的PDF鏈接;當我訪問URL時,我在代碼中提到它會生成PDF並返回。 –

+0

然後在新窗口中打開此文檔並重定向到PDF - 最好是服務器端,或者如果這是不可能的 - 用'window.location.replace(url)'。 – RoToRa

+0

var win = window.open(url); –

0

這可能只是我的習慣,但我總是用window.open()這樣的:

var win = window.open(url); 
+1

無論哪種方式都是有效的。如果你不需要訪問你剛剛創建的窗口(就像在OP中一樣),不需要使用open方法的返回值。 –