2017-02-23 8 views
0

ボタンをクリックすると、新しいタブが開きます。すべてのブラウザで動作する新しいタブをトリガーします

window.open(url, '_blank'); <----- ONLY works in Chrome, but not IE, or firefox 

どのように私はすべてのブラウザで動作する新しいタブをトリガします:この行は、なぜ

$('#got-it').click(function(){ 

    $('#myModal').modal('hide'); 

    var ajax = $.ajax({url: '/api/{{ $cpe_mac }}/gateway'}); 
    ajax.done(function (gw) { 
     $('#ajaxActivateFB').fadeOut(); 
     $('#gw-table').fadeIn(); 

     var url = "https://www.facebook.com/wifiauth/config?gw_id="+gw['gw_id']; 
     window.open(url, '_blank'); <----- ONLY works in Chrome 
    }); 
}); 

私はわかりませんか?

+0

この例では、縮小さ(https://jsfiddle.net/Obsidian_Age/frLoq1br/)3つのすべてのブラウザで私のために完璧に動作します。あなたのAJAXやモーダル(あるいは '' open'x''関数をJavaScriptの 'var open = xx'で上書きしている可能性があります)に問題がある可能性があります。私はAJAXまたはモーダルコンポーネントを複製することはできませんので、質問を更新して、関連するすべてのコードを[最小限の、完全で検証可能な例で]表示するようにしてください(http://stackoverflow.com/help/mcve) 。 –

+0

[JavaScriptを使用して新しいタブでURLを開きます(新しいウィンドウではない)](http://stackoverflow.com/questions/4907843/open-a-url-in-a-new-tab-and) -not-a-new-window-using-javascript) – mcuenez

答えて

2

window.openメソッド新しいURLを新しいウィンドウで開きます。
_blank - URLが新しいウィンドウに読み込まれます。これがデフォルトです。 open()メソッドは、新しいセカンダリブラウザウィンドウを作成します。

​​

あなたは、要求の成功後に新しいタブを開くために、コードの上に使用しています。 IEとFirefoxを含む最新のすべてのブラウザでうまくいきます。エラーやAjaxリクエストの成功をコードで確認する必要があります。

単に新しいブラウザのいずれかで以下のフィドルを実行することができます。

https://jsfiddle.net/himstar/2hqc2bgz/1/

関連する問題