2013-04-28 53 views
1

我需要在提交按鈕下載用戶點擊後自動打開裏面如何在新窗口中打開鏈接?

if(isset($_POST['download'])) { 
... 
} 

一個新的鏈接。

我試過document.location,但它在同一個標​​籤中打開一個鏈接,並且window.open要求瀏覽器應該啓用彈出窗口,這可能會讓用戶感到煩惱,再加上Chrome(也可能在一些其他瀏覽器),target="_blank"在新窗口中打開鏈接,而不是在新標籤中。

有什麼我可以使用在新標籤通常打開一個窗口,像<a href=""></a>

+0

這可能是相關的:http://stackoverflow.com/questions/4907843/open-url-in-new-tab-using-javascript – 2013-04-28 18:14:31

+5

您無法控制窗口是否會在新選項卡或窗口中打開,這完全取決於瀏覽器。 – 2013-04-28 18:19:24

+0

@MarcelKorpel我同意,但更具體的是由用戶 - 我肯定最常用的瀏覽器都有一個用戶可更換設置指定是否新的窗口在標籤或窗口打開。瀏覽器確實有一個默認的,但你不能準確地說只基於瀏覽器的窗口與標籤。此外,右鍵單擊 - >在選項卡/窗口中打開將會覆蓋該設置。 – DACrosby 2013-04-28 18:48:12

回答

1

所有現代瀏覽器現在包含選項卡的功能。

嘗試window.open(),瀏覽器將自動根據其配置完成任務。不同的瀏覽器會不同地處理target =「_ blank」.Mozilla在新標籤中打開,而chrome不是。它不取決於您。

0

你不能保證他們會在新窗口中打開它,但你可以在它作出努力。

例如:

<a href="go/Where-ever" target="_blank">Link Text</a> 

就像你說的,你可以用JavaScript做

var anchors = document.getElementsByTagName('a'); // or another selector 

for (var i in anchors) 
    anchors[i].onclick = function() { return !window.open(this); }; 

聯JavaScript

<a href="go/Where-ever" onclick="window.open(this.href);return false;">Link Text</a> 

和jQuery

$(".linkSelector a").prop("target","_blank"); 

但請記住,瀏覽器設置,右鍵單擊 - >打開新標籤,並用鼠標右鍵單擊 - >在新窗口可以覆蓋所有這一切。但通常這並不是一件壞事 - 大多數人喜歡將窗口打開爲標籤頁/窗口,他們會感到惱火,或者不注意任何忽視他們願望的事情。

相關問題