Javascript 如何防止ajax调用后弹出窗口阻塞?
我正在做一个JS项目,我需要一些弹出窗口,问题是,当弹出窗口在ajax调用后出现时,浏览器会阻止它,但如果我在用户单击它时直接弹出,它工作正常 浏览器将阻止此操作:Javascript 如何防止ajax调用后弹出窗口阻塞?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在做一个JS项目,我需要一些弹出窗口,问题是,当弹出窗口在ajax调用后出现时,浏览器会阻止它,但如果我在用户单击它时直接弹出,它工作正常 浏览器将阻止此操作: $.ajax({ url: url }).done(function(data) { showPopup(); }); 而浏览器将允许: $('#but').click(function(evt) { showPopup(); }); 浏览器中的块弹出窗口 请测试 $('#ajax_but').click
$.ajax({
url: url
}).done(function(data) {
showPopup();
});
而浏览器将允许:
$('#but').click(function(evt) {
showPopup();
});
浏览器中的块弹出窗口
请测试
$('#ajax_but').click(function() {
$.ajax({
async: false,
url: 'data.json'
}).done(function() {
popup();
});
});
或
启动Ajax的弹出窗口,在Fixy上更新它。请上车。你考虑过灯箱或模态,或者这不是一个选项吗?@丹达维斯,如果不能找到另一个,我会考虑这个解决方案。你找不到另一个。除非您使用sync ajax:对window.open的调用需要在调用堆栈中发生交互事件,否则它不会触发。您的弹出窗口应该显示类似于加载。。。我并不是真的使用$.ajax,我只是举一个简单的例子,我使用的是restanglar