我想使用JavaScript或jQuery打开一个新标签。
我试过这段代码:
window.open("myurl", '_blank');
但是浏览器会让我警告弹出窗口被阻止。
我必须在没有弹出窗口阻止警报的情况下打开新标签页。
每个客户都无法弹出。
有人可以帮我吗?
答案 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
});
}
答案 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');
}
}
});