Как получить доступ к Java-объектам через Javascript в Safari - PullRequest
2 голосов
/ 22 ноября 2010

Я написал Java-апплет, который загружается в HTML, и его функция вызывается через JavaScript.

Апплет загружен с этим HTML-кодом:

<applet id="xapplet" code="xapplet" archive="java/xApplet.jar" height="0" width="0"></applet>

В апплете есть функция, которая возвращает ArrayList.

public ArrayList<String> GetXY()
{
    ArrayList<String> lStrX=new ArrayList<String>();

        lStrX.add("X");
        lStrX.add("Y");

    return lStrX;
}

Функция вызывается через JavaScript:

var applet = document.getElementById('xapplet');
var xy = applet.GetXY();

В большинстве браузеров я могу получить доступ к свойствам java-объекта, который приводится как результат. Я успешно проверил это с Firefox, Internet Explorer и Chrome. Только в Safari объекты, которые я получаю, имеют тип "CRuntimeObject", который не имеет никакого свойства или функции.

Так что мне кажется, что в Safari я должен сделать что-то другое. Может кто-нибудь может мне помочь?

Спасибо.

1 Ответ

0 голосов
/ 22 ноября 2010

Я не знаю, как это сделать на Saphari, но я бы порекомендовал вам внести некоторые изменения в свой код Java. Ваш метод должен возвращать массив, а не список. Я считаю, что в этом случае вы сможете получить доступ к элементу этого массива из сценария Java во всех браузерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...