如何在新标签中打开链接?使用JavaScript或jQuery。没有阻止弹出窗口的浏览器警报

时间:2015-05-27 10:29:03

标签: javascript jquery html

我想使用JavaScript或jQuery打开一个新标签。

我试过这段代码:

window.open("myurl", '_blank');

但是浏览器会让我警告弹出窗口被阻止。

我必须在没有弹出窗口阻止警报的情况下打开新标签页。

每个客户都无法弹出。

有人可以帮我吗?

4 个答案:

答案 0 :(得分:5)

解决此问题的唯一方法是执行同步Ajax请求,该请求会在浏览器运行时阻止它,但会保留事件上下文。 这将有助于---> Open new tab without popup blocker after ajax call on user click

以下是您的示例代码--->

<table>

    <tr>
        <td>Works without warning in all browsers:</td>
        <td><input type="button" onclick="performSyncronousRequest()" value="Syncronous request"/><td>
    </tr>

    </tr>
</table>

素文字---&GT;

/**
* This method will give open the popup without a warning.
*/
function performSyncronousRequest() {
    $.ajax({
     url: '/echo/html',
     data: {},
     success: function(){
         window.open('http://www.w3schools.com');
     },
     async: false
    });
}

继承工作小提琴http://jsfiddle.net/23JNw/80/

答案 1 :(得分:4)

试试这个,

$('#myButton').click(function () {
    var redirectWindow = window.open('http://google.com', '_blank');
    redirectWindow.location;
});

为这个http://jsfiddle.net/safeeronline/70kdacL4/2/

工作js

为ajax窗口打开工作js小提示http://jsfiddle.net/safeeronline/70kdacL4/1/

答案 2 :(得分:2)

var win = window.open('http://stackoverflow.com/', '_blank');
if(win){
    //Browser has allowed it to be opened
    win.focus();
}else{
    //Broswer has blocked it
    alert('Please allow popups for this site');
}

答案 3 :(得分:0)

您可以尝试这样

$(document).on('click', '.preview', function(event) {
    event.preventDefault();
    if (confirm("Are You Sure?"))
    {
        var daoGroup = $("#daoGroup").val();
        if (daoGroup === undefined && daoGroup === null) {
            alert("Select DAO Groups");
            return false;
        }
        else
        {
            /* Act on the event */
            var data = $(".frmContent").serialize();
            var url = '<?php echo base_url() ?>reportViewPrint/sailorNominalRoll/htmlPreview';
            window.open(url+'?'+ data, '_blank');
        }
    }
});