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

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

Жанры

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

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

Последний Герой. Том 1

Дамиров Рафаэль
1. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 1

Я до сих пор царь. Книга XXXII

Дрейк Сириус
32. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор царь. Книга XXXII

Жена неверного генерала, или Попаданка на отборе

Удалова Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Жена неверного генерала, или Попаданка на отборе

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

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

Законы Рода. Том 5

Мельник Андрей
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5

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

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

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

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

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

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

Последний Паладин. Том 13

Саваровский Роман
13. Путь Паладина
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 13

Распутье

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

Последний Паладин. Том 14

Саваровский Роман
14. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Последний Паладин. Том 14

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Наследие Маозари 9

Панежин Евгений
9. Наследие Маозари
Фантастика:
попаданцы
постапокалипсис
рпг
сказочная фантастика
6.25
рейтинг книги
Наследие Маозари 9

Ну, здравствуй, Герой!

Француз Михаил
2. Здравствуй, Мир!
Фантастика:
фэнтези
рпг
попаданцы
5.00
рейтинг книги
Ну, здравствуй, Герой!