我们有一个使用window.showmodaldialog的项目,现在在Firefox中已弃用,Chrome中不存在。这在整个项目中被广泛使用,并依赖于window.showmodaldialog暂停代码执行的事实。我们一直在努力寻找能够在其中发挥作用的东西。例如,jQuery对话框运行良好,但它不会暂停代码执行。我们项目中的功能结构如下。刷新对象的代码无法运行,直到关闭模式对话框。在我们的项目中有许多这样的函数,所以用回调重写它将是非常耗时的。谢谢。
function DoSomething(){
window.showmodaldialog(url,...)
//code to refresh objects, etc.
}
答案 0 :(得分:0)
如果对URL的调用不需要与用户进行交互,但仅用于更新元素,则应通过ajax使用同步调用。
$.ajax({
url: theurl,
async: false
});
完成此功能的完整功能:
var modalCall = function(url){
$.ajax({
url: url,
async: false,
crossdomain: true,
error: function(){
throw "BLOCK EXECUTION";
}
});
};
这里有一个完整的例子:http://jsfiddle.net/894c6n1z/