Давайте поговорим об основном использовании Window.showmodaldialog
Showmodaldialog () (т.е. поддержка 4+)
ShowmodelessDialog () (IE 5+ поддержка)
Метод window.showmodaldialog () используется для создания модульного диалогового окна, которое отображает содержимое HTML.
Метод window.showmeslessdialog () используется для создания немодального диалогового окна, которое отображает контент HTML.
Как использовать:
vreturnvalue = window.showmodaldialog (surl [, varguments] [, sfeatures])))
vreturnvalue = window.showmodelessdialog (surl [, varguments] [, sfeatures]))))))
Описание параметра:
SURL-MUST-CHOOSE Параметры, тип: строка. URL используется для указания документа, который будет отображаться в диалоговом окне.
Varguments-Optional Parameter, тип: вариант. Используется для передачи параметров в диалоговое окно. Тип параметра, переданный не ограничен, включая массив и т. Д. Диалоговое окно получает параметры, проходящие через Window.dialogarguments.
Sfeatures-Optional Parameter, тип: строка. Используется для описания внешнего вида и другой информации диалогового окна, вы можете использовать один или несколько ниже и использовать сегмент ";"
1. Dialogheight: высота диалогового окна, не менее 100 пикселей, диалог и диалог в IE4, а IE5 - это PX, что удобно для модального диалогового окна.
2. Dialogwidth: Диалоговое окно ширину.
3.dialogleft: расстояние от левой части экрана.
4. Dialogtop: расстояние от экрана.
5.center: {Да |.
6. Help: {Да |.
7. Резюта: {да |. По умолчанию нет.
8.status: {да |. По умолчанию - да [модительно] или нет [модально].
9.scroll: {Да |. По умолчанию да.
Следующие атрибуты используются в HTA и обычно не используются на общих веб -страницах.
10. Dialoghide: {Да | По умолчанию нет.
11. По умолчанию повышение.
12.
Передача параметров:
1. Если вы хотите передать параметры в диалоговом окне, вы можете пройти через варгументы. Тип не ограничен. Вы также можете передать объект, например:
Код кода копирования следующим образом:
<Скрипт>
var obj = new Object ();
obj.name = "ttop";
Window.showmodaldialog ("test.htm", obj, "dialogwidth = 200px; dialogheight = 100px");
</script>
тест.htm
<Скрипт>
var obj = window.dialogarguments
Alert («Параметры, которые вы передаете:» + obj.name)
</script>
2. Вы можете вернуть информацию в окно, которое открывает диалоговое окно через Window.ReturnValue. Например:
Код кода копирования следующим образом:
<Скрипт>
Str = window.showmodaldialog ("test.htm", "dialogwidth = 200px; dialogheight = 100px");
предупреждение (str);
</script>
тест.htm
<Скрипт>
window.returnValue = "/";
</script>
1. В чем разница между Showmodaldialog и Showmodelessdialog?
Showmodaldialog: После открытия, он всегда будет держать входной фокус. Если диалоговое окно не закрыто, пользователи не могут переключиться на главное окно. Аналогично операционному эффекту оповещения.
ShowmodelessDialog: После открытия пользователи могут случайным образом переключать фокус ввода. Это не влияет на главное окно (больше всего оно заблокировано.: P)
Во -вторых, как мы можем позволить новому окну появиться в Showmodaldialog и ShowmodelessDialog?
Добавить <base target = "_ seld"> на открытые веб -страницы. Это предложение, как правило, расположено между <html> и <body>.
Как обновить контент в Showmodaldialog и Showmodelessdialog?
В Showmodaldialog и ShowmodelessDialog F5 не может быть обновлен, и меню не может быть выскочено. Это может полагаться только на JavaScript.
<body onkeydown = "if (event.keycode == 116) {regoad.click ()}">
<A id = "reload" href = "filename.htm" style = "display: none"> reload ... </a>
Замените имя файла. HTM с именем веб -страницы и поместите его в открытую вами веб -страницу.
В -четвертых, как закрыть окно Showmodaldialog (или ShowmodelessDialog) с JavaScript.
<input type = "button" value = "close" onclick = "window.close ()">
Также сотрудничайте с <base target = "_ seld">, в противном случае он откроет новое окно IE, а затем выключит его.
5. Showmodaldialog и ShowmodeLessDialog Методы передачи данных.
(Слова автора: я изначально хотел написать это в вопросе и ответе, но я не мог придумать этого, поэтому я должен был это сделать.)
Это более хлопотно.
Пример: теперь вам нужно прочитать или установить переменную var_name
Общий метод передачи:
Window.showmodaldialog ("filename.htm", var_name)
// Передача переменных var_name
При чтении и настройке в Showmodalalicalog (или ShowmodelessDialog) ::
Alert (window.dialogarguments) // Читать переменную var_name
Window.dialogarguments = "oyiboy" // Установить переменную var_name
Этот метод может быть удовлетворен, но когда вы хотите работать VAR_NAME, а затем выполнить второе изменение var_id одновременно? Он не сможет больше работать. Это ограничения этого метода передачи.
Ниже я рекомендую использовать его:
Window.showmodaldialog ("filename.htm", window)
// Независимо от того, какие переменные должны работать, только передается только окно -объект главного окна.
При чтении и настройке в Showmodalalicalog (или ShowmodelessDialog) ::
alert (window.dialogarguments.var_name) // Читать переменную var_name
Window.dialogarguments.var_name = "oyiboy" // Установить переменную var_name
В то же время я также могу управлять переменной var_id
Alert (window.dialogarguments.var_id) // Читать переменную var_id
Window.dialogarguments.var_id = "001" // Установить переменную var_id
Также может управлять любым объектом главного окна, такого как элементы в объекте формы.
Window.dialogarguments.form1.index1.value = "Это значение элемента Index1"
На родительской странице используйте onclight = "" "varite = window.showmodalog ('jeampoto.htm', 'dialogwidth: 500px; dialogheight: 300px; help: no'); if (type eof (reval)! ) {Form.textName.value = reval;} "style =" "cursor: hand"> нажмите здесь, чтобы изменить изображение
Откройте структуру, установленную в Word Window 'ChangePhoto.htm'.
ChangePhoto.htm: <input type = кнопка onclick = "onclose ();" Value = "close" >>
Функция onclose () {window.returnvalue = form1.save.value;
ASP -файл: parent.document.form1.save.value = "значение или различное";