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

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

Жанры

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: присваиваемая функция станет обработчиком ошибок для окна.

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

Учебная книга по Русской истории

Соловьев Сергей Михайлович
Проза:
классическая проза
5.00
рейтинг книги
Учебная книга по Русской истории

Эпоха Опустошителя. Том V

Павлов Вел
5. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том V

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Гуманитарное знание и вызовы времени

Коллектив авторов
Humanitas
Научно-образовательная:
культурология
5.00
рейтинг книги
Гуманитарное знание и вызовы времени

Adobe InDesign CS3

Завгородний Владимир
Видеосамоучитель
Компьютеры и Интернет:
программное обеспечение
5.00
рейтинг книги
Adobe InDesign CS3

Мы сможем?

Атталь Аврора
Любовные романы:
5.00
рейтинг книги
Мы сможем?

Гоген в Полинезии

Даниельссон Бенгт
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Гоген в Полинезии

Эволюционер из трущоб

Панарин Антон
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб

Путешествия Христофора Колумба (Дневники, письма, документы)

Коллектив авторов
Научно-образовательная:
история
5.00
рейтинг книги
Путешествия Христофора Колумба (Дневники, письма, документы)

Путь Шедара

Кораблев Родион
4. Другая сторона
Фантастика:
боевая фантастика
6.83
рейтинг книги
Путь Шедара

3ds Max 2008

Верстак Владимир
Видеосамоучитель
Компьютеры и Интернет:
программное обеспечение
5.00
рейтинг книги
3ds Max 2008

Невеста Дерини

Куртц Кэтрин Ирен
4. Хроники короля Келсона
Фантастика:
фэнтези
7.14
рейтинг книги
Невеста Дерини

Слово (Том 1)

Уоллес Ирвин
5.00
рейтинг книги
Слово (Том 1)

Рассвет русского царства. Книга 2

Грехов Тимофей
2. Новая Русь
Фантастика:
альтернативная история
попаданцы
историческое фэнтези
5.00
рейтинг книги
Рассвет русского царства. Книга 2