我有以下脚本如下。
$('.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为我做了哪些改变以适应它?
答案 0 :(得分:0)
这是您的问题: http://windowsitpro.com/blog/google-kills-showmodaldialog-api-chrome-37-and-does-evil-exchange-owa
以下是一些解决方法: Why is window.showModalDialog deprecated? What to use instead?
编辑:
看看这个包:showModalDialog
您不应该进行太多改动以使此软件包与您的软件包一起使用。它的语法几乎相同。
例如,你可以这样做:
window.showModalDialog("demo-modal.html", "some arguments", "dialogWidth:500px;dialogHeight:200px");
这与您目前拥有的几乎相同。看看是否只包括该软件包修复它。我相信它应该。似乎根本不是一个不同的语法,这应该在chrome
中起作用答案 1 :(得分:0)
您可以使用:
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);
}