Member 13980681 Ответов: 1

Мне нужно заменить showmodaldialog, так как ts больше не поддерживается


У меня есть устаревшее приложение C# javascript, которое меня попросили посмотреть, поскольку некоторые из этих моделей поведения не работают в Chrome. Я обнаружил, что виновником был showModalDialog

Ниже приведена функция javascript, которую мне нужно исправить.
Я читал всевозможные советы, но примеры очень просты и не отвечают моим потребностям. Это модальное всплывающее окно, которое имеет 2 списка, вы можете нажать на стрелки, чтобы выбрать поля и переместить их в правую сторону и наоборот. Я надеюсь, что это имеет смысл.

Любая помощь будет оценена по достоинству.

function launchFieldList() {     
        var args = new Object();
        buildList();
        args["listFields"] = listFields;  
        var retVal = showModalDialog("selectFields.aspx",
                      args,
                      "dialogWidth:650px;dialogHeight:410px;status:no");       
        if (retVal != new String("CANCEL") && typeof (retVal) != "undefined")
        {
                fieldList = retVal;
        }
        updateDisableSelection();       
        buildList();        		   
}


Что я уже пробовал:

Я попытался заменить его на window.open, и это действительно всплывает новая страница, но она не модальна и не имеет никаких данных - список полей не был возвращен. Это происходит в IE и Chrome.

F-ES Sitecore

Вероятно, вам придется использовать плагин js, который позволяет отображать веб-страницу в модальном окне, или полностью реорганизовать свой код, чтобы он был совместим с более традиционными модальными плагинами js, которые будут включать содержимое вашего модального объекта на той же странице, что и родительская страница.

1 Ответов

Рейтинг:
1

Richard Deeming

В МДН документации[^] имеет ссылку на полифилл для этого метода:
GitHub - niutech/showModalDialog: window.showModalDialog polyfill с использованием элемента <dialog> [^]

Кроме того, перепишите свой код с помощью то <dialog> элемент[^].

Или используйте "модальный" диалог на странице Javascript - например, Начальная загрузка[^] или пользовательского интерфейса jQuery [^].