Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

В дополнение к методам

alert, confirm
и
prompt
в объекте
Window
имеется более сложный метод,
showModalDialog,
отображающий модальный диалог, содержащий разметку HTML, и позволяющий передавать аргументы и получать возвращаемое значение. Метод
ShowModalDialog
выводит модальный диалог в отдельном окне броузера. Первым аргументом методу передается URL, определяющий HTML-содержимое диалога. Во втором аргументе может передаваться произвольное значение (допускается передавать массивы и объекты), которое будет доступно сценарию в диалоге, как значение свойства
window.dialogArguments
. Третий аргумент - нестандартный список пар имя/значение, разделенных точками с запятой, который, если поддерживается, может использоваться для настройки размеров и других атрибутов диалогового окна. Для определения размеров окна диалога можно использовать параметры
«dialogwidth»
и
«dialogheight»,
а чтобы позволить пользователю изменять размеры окна, можно определить параметр
"resizable=yes".

Окно, отображаемое эти методом, является модальным, и метод

ShowModalDialog
не возвращает управление, пока окно не будет закрыто. После закрытия окна значение свойства
window.returnValue
становится возвращаемым значением метода. Обычно разметка HTML диалога должна включать кнопку ОК, которая записывает желаемое значение в свойство
returnValue
и вызывает
window.close
(раздел 14.8.1.1).

В примере 14.4 приводится разметка HTML для использования с методом

showModalDialog.
Комментарий в начале примера включает пример вызова
showModalDialog,
а на рис. 14.1 показан диалог, созданный вызовом из примера. Обратите внимание, что большая часть текста, отображаемого в диалоге, передается методу
showModalDialog
во втором аргументе, а не является жестко определенной частью разметки HTML.

Пример 14.4. HTML-файл для использования с функцией

showModalDialog

<!
– -

Это не самостоятельный HTML-файл. Он должен вызываться методом

showModalDialog и ожидает получить в свойстве window.dialogArguments массив строк.

Первый элемент массива - строка, отображаемая в верхней части диалога.

Все остальные элементы - метки для однострочных текстовых полей ввода.

Возвращает массив значений полей ввода после щелчка на кнопке Okay.

Этот файл используется следующим образом:

var р = showModalDialog("multiprompt,html",

["Enter 3D point coordinates", "x", "y", "z"],

"dialogwidth:400; dialogheight:300; resizable:yes"):

– ->

<form>

<fieldset id="fields"></fieldset> <!-- Тело, заполняемое сценарием ниже -->

<div style="text-align:center"> <!-- Кнопки закрытия диалога -->

<button onclick="okay">Okay</button> <!— Устанавливает возвращаемое -->

<!-- значение и закрывает диалог —>

<button onclick="cancel">Cancel</button> <!-- Закрывает диалог, -->

<!— не возвращая ничего —>

</div>

<script>

// Создает разметку HTML тела диалога и отображает ее в элементе fieldset

var args = dialogArguments;

var text = "<legend>" + args[0] + "</legend>";

for(var і = 1; і < args.length; i++)

text += "<label>" + args[i] +
":
<input id='f" + і + "' ></label><br>";

document.getElementById("fields").innerHTML = text:

// Закрывает диалог без установки возвращаемого значения

function cancel { window. close; }

// Читает значения полей ввода и устанавливает возвращаемое значение,

// затем закрывает диалог

function okay {

window.returnValue = []; // Возвращаемый массив

for(var і = 1; і < args.length; і++) // Значения элементов из полей ввода

window.returnValue[i-1] = document.getElementById("f" + і).value;

window.close; // Закрыть диалог. Это заставит showModalDialog вернуть управление.

}

</script>

</form>

14.6. Обработка ошибок

Свойство

onerror
объекта
Window
– это обработчик событий, который вызывается во всех случаях, когда необработанное исключение достигло вершины стека вызовов и когда броузер готов отобразить сообщение об ошибке в консоли JavaScript. Если присвоить этому свойству функцию, функция будет вызываться всякий раз, когда в окне будет возникать ошибка выполнения программного кода JavaScript: присваиваемая функция станет обработчиком ошибок для окна.

Поделиться:
Популярные книги

Целеполагание

Владимиров Денис
4. Глэрд
Фантастика:
фэнтези
боевая фантастика
рпг
5.00
рейтинг книги
Целеполагание

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Неучтенный элемент. Том 5

NikL
5. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 5

Герой

Мазин Александр Владимирович
4. Варяг
Фантастика:
альтернативная история
9.10
рейтинг книги
Герой

Хозяева Острога

Брайдер Юрий Михайлович
3. Тропа
Фантастика:
научная фантастика
6.57
рейтинг книги
Хозяева Острога

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Газлайтер. Том 23

Володин Григорий Григорьевич
23. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 23

Кодекс Охотника. Книга XIX

Винокуров Юрий
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XIX

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Кодекс Императора III

Сапфир Олег
3. Кодекс Императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Императора III

Лекарь Империи 6

Карелин Сергей Витальевич
6. Лекарь Империи
Фантастика:
городское фэнтези
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Лекарь Империи 6

Ярар. Начало

Грехов Тимофей
1. Ярар
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ярар. Начало

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота