showmode对话框突然在chrome中给出未定义

showmodal dialog suddenly giving undefined in chrome

本文关键字:未定义 chrome 对话框 突然 showmode      更新时间:2023-09-26

我有如下脚本。

$('.t1 span.droppable').each(function(){
                //alert("DROP");
                //$(this).droppable();
        $('.droppable').droppable({
    drop: function(event, ui) {

    var fromd = 0;
    var tod = 0;
    var url1 = "insertsw.php?fromd=" + fromd + "&tod=" + tod;
    var r = "";
    objArgs = new Array(tpFrom, sFrom, nsdFrom, tpTo,sTo, dTo);
    r=showModalDialog(url1,objArgs,"dialogWidth: 450; dialogHeight: 300; resizable: yes");
   if(r==null)
                {
                    popUpOpen=1;
                }
                else
                {
                    popUpOpen=1;
                //alert("R : "+r);
                var n=r.split("#");
                }
   }
 }
}

它已经在chrome上工作了近3年,现在它突然显示出未定义。但在firefox上运行良好,和往常一样完美。chrome为我做了哪些改变来适应它?

这是您的问题:http://windowsitpro.com/blog/google-kills-showmodaldialog-api-chrome-37-and-does-evil-exchange-owa

以下是一些解决方法:为什么不赞成使用window.showModalDialog?用什么代替?

编辑:

看看这个包:showModalDialog

你不需要做太多改变就可以让这个包与你的一起使用。它实际上是相同的语法。

例如,你可以做:

window.showModalDialog("demo-modal.html", "some arguments", "dialogWidth:500px;dialogHeight:200px");

这几乎和你现在拥有的一样。看看仅仅包括软件包是否能修复它。我相信它应该修复。似乎没有任何不同的语法,这应该在chrome 中工作

您可以使用:

    if(no_support_dialog()){
       showModalDialog(url1,objArgs,"dialogWidth: 450; dialogHeight: 300; resizable: yes");
    }else{
       alert('This browser does not support the native method ''showModalDialog''');
    }
    function no_support_dialog() {
        return (/'{'s*'[native code']'s*'}/).test('' + window.showModalDialog);
    }