2008-10-06 4 views
2

Я читал, что вы могли бы назвать код JavaScript из Java-апплета, вызвавВызов JS из апплета: MalformedURLException: неизвестный протокол: JavaScript

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

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

java.net.MalformedURLException: unknown protocol: javascript 

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

ответ

4

я получаю такое же исключение, как вы делаете из-за того, что класс 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 
} 
+0

Это открывает новую вкладку в Firefox, но страница и адрес расположения являются пустыми. Ничего не происходит ..:/ – user20298 2008-10-24 09:35:24

2
try { 
     this.getAppletContext().showDocument(new URL("javascript:alert('hello world');")); 
    }catch(Exception e) { 
     e.printStackTrace(); 
    } 

Работы !!

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

Смежные вопросы