Edge中完全不推荐使用window.showModalDialog

时间:2018-10-02 15:24:54

标签: javascript jquery microsoft-edge showmodaldialog

我有一个与Edge兼容的网站(以前仅与IE兼容...)。

问题是,我不知道如何处理旧的showModalDialog元素。我希望可以有一个简单的解决方法,但我认为这是没有希望的。我需要一个返回值...

这是我当前的代码:

function openCalendar(oDate){
    if (typeof jQuery != 'undefined' && oDate instanceof jQuery) {
        var dateValue   = oDate.val();
        var color       = oDate.css('color');
    }else{
        var dateValue   = oDate.value;
        var color       = oDate.style.color;
    }

  var month     = "";
  var year      = "";

    if (dateValue != "" && color != "red") {
        month = dateValue.substring(3,5);
        year  = dateValue.substring(6,10);
    }
  search    = window.showModalDailog('../calendar/calendar.jsp?month='+month+'&year='+year ,null,'dialogWidth=220px;dialogHeight=220px;STATUS:NO;SCROLL:NO;help:no');

  if (search != null && search != "undefined" && search != "") {
        if (typeof jQuery != 'undefined' && oDate instanceof jQuery) {
            oDate.val(search);
            oDate.css('color', "");
        }
        else {
            oDate.value           = search;
            oDate.style.color   = "";
            oDate.className   = "InputText";
        }
  }
}

我该怎么办?

谢谢您的帮助。

P.S .:我必须使用jQuery 1.3.2

1 个答案:

答案 0 :(得分:0)

作为替代,您可以尝试使用Window.Open()。您可以检查它是否解决了您的问题。

代码示例:

function ShowInformationMessage(message) {
        var ie = document.all;
        varl url = '../TestWeb/Error/ErrorMessages/PopInfoUI.aspx?val=' + message
 

        if(ie)
           window.showModalDialog(url, 'window', 'status:no; help:no; dialogWidth:400px; dialogHeight:120px');
        else {
            var theWin = window.open(url, 'theWin', 'width=400, height=120, status=no');
            theWin.focus();
        }
    }