Вызов JS из апплета: MalformedURLException: неизвестный протокол: javascript - PullRequest
2 голосов
/ 06 октября 2008

Я прочитал, что вы можете вызывать код JavaScript из Java-апплета, вызывая

JApplet.getAppletContext().showDocument( "javascript:alert('Hello World');" );

Однако, когда я делаю это, я получаю следующую ошибку:

java.net.MalformedURLException: unknown protocol: javascript

Как мне обойти это?

Ответы [ 2 ]

4 голосов
/ 15 октября 2008

Я получаю то же исключение, что и вы, из-за того, что класс URL не принимает JavaScript: в качестве допустимого протокола.

Хотя есть обходной путь; предоставить URLStreamHandler для конструктора URL.

Пример:

final URLStreamHandler streamHandler = new URLStreamHandler() {

    @Override
    protected URLConnection openConnection(URL u)
        throws IOException {
        return null;
    }

};

try {
    getAppletContext().showDocument(
        new URL(null, "javascript:alert('It works!');", streamHandler));
} catch (MalformedURLException me) {
    //log or whatever
}
2 голосов
/ 06 октября 2008
    try {
        this.getAppletContext().showDocument(new URL("javascript:alert('hello world');"));
    }catch(Exception e) {
        e.printStackTrace();
    }

Работает !!

Возможно, в браузере не включен javascript .. просто предположение

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