Ошибка неизвестного протокола при вызове JavaScript из Java-апплета

Проблема с выполнением JavaScript кода из Java-апплета

Пытаюсь запустить JavaScript функцию из своего Java-апплета, но постоянно получаю ошибку. Читал в документации, что можно использовать метод showDocument для этого.

Вот мой код:

MyApplet.getAppletContext().showDocument("javascript:confirm('Привет мир!');");

Но при запуске выдает такую ошибку:

java.net.MalformedURLException: unknown protocol: javascript

Как правильно решить эту проблему? Может есть другой способ вызвать JavaScript из апплета? Заранее спасибо за помощь!

Попробуй использовать new URL(“javascript:confirm(‘Привет мир!’);”) или JSObject для доступа к DOM. Какую версию Java используешь и в каком браузере тестируешь код?

У меня была такая же проблема пару лет назад. Современные браузеры блокируют javascript: протокол в showDocument из-за безопасности. Попробуй JSObject класс - он дает прямой доступ к браузерному окну. Что-то вроде JSObject window = JSObject.getWindow(this); потом window.eval(“confirm(‘Привет мир!’)”);. Только учти - многие браузеры уже не поддерживают апплеты вообще, может стоит переходить на webassembly или обычный javascript?

showDocument() не работает с протоколом javascript в современных браузерах по причинам безопасности. Используй JSObject из пакета netscape.javascript для вызова js функций напрямую. Что-то вроде JSObject.getWindow(this).call(“confirm”, new Object{“Привет мир!”}). Не забудь импортировать netscape.javascript.JSObject и проверь, поддерживает ли браузер апплеты.