2016-07-14 66 views
1

我正在使用Chrome擴展項目,並且其中一個彈出窗口的按鈕必須在點擊時打開我的TeamSpeak服務器。通過擴展按鈕打開teamspeak服務器

我的按鈕的最終HTML代碼:

<a href="ts3server://MYSERVER" target="_blank" id="teamspeak"></a> 

問題是我的按鈕打開一個新的空白頁面地址爲「ts3server:// MYSERVER」。如果我在Chrome中手動複製並粘貼「ts3server:// MYSERVER」,它會按照希望打開TeamSpeak軟件。

+1

如果刪除'target =「_ blank」',會發生什麼? – wOxxOm

+0

我試圖將其刪除,或者將其替換爲我所能做的任何事情,但結果是該按鈕無法再打開任何東西。只有目標我發現哪個按鈕做某事是'_blank',並且它做得不好。 – Nucktrooper

+0

如果彈出窗口是受限制的安全區域,那麼其他按鈕是否不工作?我也有打開Facebook,Twitter等按鈕,他們工作得很好。 – Nucktrooper

回答

2

這可以通過添加(和刪除)不可見的iframe來實現。

function openExternalLink(uri) { 
    var iframe = document.createElement("iframe"); 
    iframe.src = uri; 
    iframe.style.display = "none"; // Make sure it's hidden 
    document.body.appendChild(iframe); // This will trigger load => external request 
    iframe.remove(); // Cleanup 
} 

您需要創建一個按鈕並添加一個調用此按鈕的點擊處理程序。

不需要打擾現有標籤。

+0

沒有看到你如何做了其餘的事情,不知道有什麼問題。也許這是一個新問題的好機會。 – Xan