2016-07-14 9 views
1

私はChrome拡張プロジェクトを作成しています。ポップアップのボタンの1つはクリック時にTeamSpeakサーバーを開く必要があります。拡張ボタンを使用してteamspeakサーバーを開きます

私のボタンの最終的なHTMLコードは次のとおりです。

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

問題は、私のボタンはアドレス「:// MYSERVER ts3server」で新しい空白のページを開いています。手動で "ts3server:// MYSERVER"をChromeにコピーアンドペーストすると、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

関連する問題