-1

サイトの名前を含む選択ドロップダウン リストがあります。名前を選択すると、選択したページを含むユーザーのブラウザーで新しいページまたはタブが開きます。window.location.href=new page だけを実行して、新しいページを既存のウィンドウに配置したくありません。

window.open(url) を実行できます。ここで、url はドロップダウンから選択されたものですが、Safari はそれをポップアップとしてブロックします。

ドロップダウンの名前をクリックすると、リンクをクリックしたときの保存効果が必要です

          <a href="/chosen_site" target="_blank">View site</a>

どうすればこれを行うことができるかについて誰か考えがありますか?

ありがとう

4

2 に答える 2

0

あなたがやろうとしていることは「ポップアップを開く」と呼ばれるので、99% のユーザーにとって非常に迷惑なので、もちろん「ポップアップ ブロッカー」はそれをブロックします (ユーザーが選択ボックスでアイテムを選択したときにリンクを開くのと同じです)。

だから答え -これをしないでください、または特定のサイトがポップアップを開くことを許可して、あなただけのためにこれをしてください

もちろん、<A href="" target="_blank"...>html にテンポラリを追加してクリックをエミュレートするなどのハックを試すことができます。Simulate Click Javascriptをチェックしてください。

于 2013-10-12T00:33:57.847 に答える
0

悪いニュース:新しいタブまたは新しいウィンドウで開きたい場合 (新しいタブまたはウィンドウが作成されるかどうかはブラウザーによって決定され、制御できないことに注意してください)、できないと思いますなしでこれを行いwindow.open()ます。良いニュースは、次を使用することです。

window.open(
  'http://yoursite.com',
  '_blank'
);

必要なものを達成します。

新しいウィンドウで開く必要がない場合は、機能しdocument.location.href = "http://yoursite.com"ます。

これを行うことで、必要なものを達成できます: check in fiddle

<select>
    <option value="">Nothing</option>
    <option value="http://stackoverflow.com/users/1090562/">me on SO </option>
    <option value="google.com"> google.com </option>
</select>

$("select").change(function(){
    var url = $(this).val();
    if (url){
        window.open(url, '_blank');
    }
})
于 2013-10-12T00:43:55.603 に答える