Клиентский JavaScript 1.3




Глава 15 LiveConnect. Обзор.


    Глава 15 LiveConnect. Обзор.
    В этой главе рассматривается использование технологии LiveConnect, позволяющей коду Java и коду JavaScript взаимодействовать. Предполагается, что Вы уже знакомы с программированием на Java. В глав...
    Что такое LiveConnect?
    В браузере Navigator LiveConnect даёт возможность использовать: JavaScript для прямого доступа к переменным, методам, классам и пакетам Java. Управлять Java-аплетами и plug-in'ами с помощью JavaSc...
    Включение LiveConnect
    Служба LiveConnect по умолчанию включена в Navigator'е 1.1 и последующих версиях. Чтобы LiveConnect работала, должны быть включены Java и JavaScript. Для проверки этого выберите Preferences в меню...
    Консоль Java
    Консоль Java это окно Navigatorа отображающее сообщения Java. Если Вы используете переменные классов out или err в java.lang.System для вывода сообщения, сообщение появляется на консоли. Для показ...
    Работа с оболочками
    В JavaScript оболочка\wrapper это объект типа данных целевого языка, который содержит объект исходного языка. На стороне JavaScript Вы можете использовать объект-оболочку для доступа в методам и п...
    Взаимодействие JavaScript с Java
    Когда Вы обращаетесь к пакету или классу Java или работаете с массивом или объектом Java, Вы используете один из специальных объектов LiveConnect. Все запросы JavaScript к Java выполняются с помощ...
    Таблица 15.1 Объекты LiveConnect
    ОбъектОписание JavaArray Обёрнутый Java-массив, доступ к которому выполняется из кода JavaScript. JavaClass Ссылка JavaScript на Java-класс. JavaObject Обёрнутый объект Java, доступ к которому вып...
    Объект Packages
    Если Java-класс не является частью пакетов java, sun или netscape, Вы осуществляете доступ к нему через объект Packages. Например, корпорация Redwood использует Java-пакет redwood как контейнер дл...
    Работа с массивами Java
    Если какой-нибудь Java-метод создаёт массив и Вы обращаетесь к этому массиву в JavaScript, Вы работаете с JavaArray. Например, следующий код создаёт JavaArray x из 10 элементов типа int: theInt =...
    Ссылки на пакет и класс
    Простые ссылки из JavaScript на пакеты и классы Java создают объекты JavaPackage и JavaClass. Ранее в примере о компании Redwood, например, ссылка Packages.redwood это объект JavaPackage. Аналогич...
    Аргументы типа char
    Вы не можете передавать односимвольные строки в Java-метод, требующий аргумента типа char. Вы обязаны передавать в такие методы целое число, соответствующее Unicode-значению символа. Например, вот...
    Управления Java-аплетами
    Вы можете использовать JavaScript для управления поведением Java-аплета, не зная почти ничего о внутреннем строении аплета. Все public-переменные, методы и свойства аплета доступны для работы из J...
    Обращение к аплетам
    Каждый аплет документа отражается в JavaScript как document.appletName, где appletName это значение атрибута NAME тэга APPLET. Массив applets также содержит все аплеты страницы; Вы можете обратить...
    Пример 1: Hello World
    Например, Вы можете изменить вышеприведённый аплет HelloWorld: переопределить его метод init, чтобы он объявлял и инициализировал строку myString определить метод setString, принимающий строковой...
    Пример 2: аплет Flashing Color Text
    Более сложный пример - аплет, отображающий вспыхивающий текст разными цветами. Текстовое поле и кнопка позволяют ввести новый текст. Этот аплет показан на Рисунке 15.1....
    Рисунок 15.1 Аплет Flashing text
    Вот исходный HTML: APPLET CODE="colors.class" WIDTH=500 HEIGHT=60 NAME="colorApp" /APPLETFORM NAME=colorText PEnter new text for the flashing display:INPUT TYPE="text" NAME="textBox" LENGTH=50PCli...
    Управление Java Plug-in'ами
    Каждый plug-in документа отражается в JavaScript как элемент массива embeds. Например, следующий HTML-код включает AVI plug-in в документ: EMBED SRC=myavi.avi NAME="myEmbed" WIDTH=320 HEIGHT=200 Е...
    Взаимодействие Java и JavaScript
    Если Вы хотите использовать объекты JavaScript в Java, Вы обязаны импортировать пакет netscape.javascript в Ваш Java-файл. Этот пакет определяет следующие классы: netscape.javascript.JSObject даёт...
    Использование классов LiveConnect
    Все JavaScript-объекты появляются в коде Java как экземпляры netscape.javascript.JSObject. Когда Вы вызываете метод в Вашем Java-коде, Вы можете передать ему JavaScript-объект в качестве одного из...
    Доступ к JavaScript с помощью JSObject
    Например, Вы работаете с Java-классом JavaDog. Как показано в следующем коде, конструктор JavaDog принимает в качестве параметра JavaScript-объект jsDog, который определён как имеющий тип JSObject...
    Обработка исключений JavaScript в Java
    Если код JavaScript, вызванный из Java, терпит неудачу на этапе прогона, он вызывает исключение. Если Вы вызываете JavaScript-код из Java, Вы можете отловить это исключение в блоке операторов try....
    Доступ к клиентскому JavaScript
    Давайте теперь отдельно рассмотрим использование Java для доступа к клиентскому JavaScript. Автор HTML-страницы обязан разрешить аплету доступ к JavaScript, специфицировав атрибут MAYSCRIPT тэга A...
    Получение дескриптора для окна JavaScript
    Прежде чем Вы получите доступ к JavaScript в Navigatorе, Вы обязаны получить дескриптор/handle для окна Navigatorа. Используйте метод getWindow класса netscape.javascript.JSObject для получения де...
    Доступ к объектам и свойствам JavaScript
    Метод getMember класса netscape.javascript.JSObject даёт доступ к объектам и свойствам JavaScript. Вызывайте getWindow для получения дескриптора окна JavaScript, затем вызывайте getMember для дост...
    Вызов методов JavaScript
    Метод eval класса netscape.javascript.JSObject позволяет вычислять произвольные выражения JavaScript. Используйте метод getWindow для получения дескриптора окна JavaScript, затем используйте eval...
    Пример: Hello World
    Вернёмся к примеру HelloWorld, изменим метод paint в коде Java таким образом, чтобы он вызывал JavaScript-метод alert (с сообщением "Painting!"): public void paint(Graphics g) { g.drawString(myStr...
    Вызов пользовательский функций
    Вы можете также вызвать определённые пользователем функции из Java-аплета. Например, добавьте следующую функцию в HEAD HTML-страницы с аплетом HelloWorld: SCRIPT function test() { alert("You are u...
    Конвертация типов данных
    Поскольку Java является строго типизированным языком, а JavaScript типизирован слабо, машина выполнения JavaScript конвертирует значения аргументов в подходящие типы данных других языков, когда Вы...
    Конвертация JavaScript в Java
    Если Вы вызываете Java-метод и передаёте ему параметры из JavaScript, тип передаваемых параметров конвертируется в соответствии с правилами, описанными в следующих разделах: Числа Булевы Строки Un...
    Числа
    Если Вы передаёте числовые типы JavaScript в качестве параметров Java-методам, Java конвертирует значения таким образом: Тип Java-парамераПравила конвертации double Точное значение переносится в J...
    Булевы
    Если Вы передаёте Булев тип JavaScript в качестве параметра Java-методам, Java конвертирует значения таким образом: Тип Java-параметра Правила конвертации boolean Все значения конвертируются напря...
    Строковые
    Если Вы передаёте строковые значения JavaScript в качестве параметров Java-методам, Java конвертирует значения так: Тип Java-параметра Правила конвертации> lava.lang.String java.lang.Object Строка...
    Undefined-значения
    Если Вы передаёте undefined-значения JavaScript в качестве параметров Java-методам, Java конвертирует значения так: Тип Java-параметра Правила конвертации lava.lang.String java.lang.Object Значени...
    Null-значения
    Если Вы передаёте null-значения JavaScript в качестве параметров Java-методам, Java конвертирует значения так: Тип Java-параметра Правила конвертации Любой класс Интерфейс любого типа Значение ста...
    Объекты JavaArray и JavaObject
    В большинстве случаев, если Вы передаёте JavaScript JavaArray или JavaObject в качестве параметров Java-методу, Java просто снимает оболочку с объекта; иногда объект приводится к другому типу данн...
    JavaClass-объекты
    Если Вы передаёте JavaScript JavaClass-объект как параметр Java-методу, Java конвертирует этот объект в соответствии со следующими правилами: Тип Java-параметра Правила конвертации java.lang.Class...
    Другие объекты JavaScript
    Если Вы передаёте любой другой объект JavaScript в качестве параметра Java-методу, Java конвертирует этот объект в соответствии со следующими правилами: Тип Java-параметра Правила конвертации java...
    Конвертация из Java а JavaScript
    Передаваемые из Java в JavaScript значения конвертируются так: Java byte, char, short, int, long, float и double конвертируются в числа JavaScript. Java boolean конвертируется в JavaScript boolean...









Начало        




Книжный магазин