我有以下JavaScript代码:
dropdown.onchange = function(e){
e.preventDefault();
var id = this.value;
var w = window.open('', '_blank');
$.ajax({
url: '../../getSearchSonBySearchId.php',
type: 'POST',
async: false,
dataType: 'Text',
data: {'search_id': id},
error: function(a, b, c) { alert(a+b+c); }
}).done(function(data) {
var search_criteria = data;
var cx = '*******';
var api_key = '******';
w.location = "http://www.calimedia.net/search.html?q=" + search_criteria;
});
};
在上面的代码中,想象下拉是一个引用HTML下拉列表的变量。当我从下拉列表中选择一个选项时,我试图避免浏览器弹出窗口阻止程序。
我已经在SO和其他几个方面检查了以下问题:
看起来阻止弹出窗口的唯一方法是打开新页面的事件来自可信事件或来自用户(人)。有什么方法可以让浏览器认为我的onchange事件是一个值得信赖的事件?