javascript - ajax调用后如何防止弹出窗口阻塞?

标签 javascript jquery ajax

我正在开发一个 JS 项目,我需要一些弹出窗口,问题是当 ajax 调用后弹出窗口时,浏览器会阻止它,但如果我在用户单击它时直接弹出它,它就会工作好吧。

浏览器将阻止此操作:

$.ajax({
    url: url
}).done(function(data) {
    showPopup();
});

虽然浏览器会让这样:

$('#but').click(function(evt) {
    showPopup();
});

The code on Plunker

最佳答案

在浏览器中阻止弹出窗口

请测试

$('#ajax_but').click(function() {
  $.ajax({
    async: false,
    url: 'data.json'
  }).done(function() {
    popup();
  });
});

link

关于javascript - ajax调用后如何防止弹出窗口阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29725545/

相关文章:

php - 如何使用 jquery 对话框按钮提交表单?

javascript - Electron + angularjs IPC机制

javascript - 尝试重用 vue.js 中的组件

jQuery Mobile 等待下一页准备好后再加载

javascript - 使 Facebook 页面插件响应(到处搜索,找不到解决方案)

javascript - 刷新html页面时如何保持当前选项卡?

c# - 如何从 webservice 返回 xml 数据到 jquery ajax 调用

javascript - 如何将值从父组件传递到子组件( react )

javascript - Javascript 中的回调在幕后是如何编码的?

javascript - 使用 JavaScript 私有(private)方法 :