Я пытаюсь создать очень простой Java-апплет, чтобы попробовать использовать функции Java в веб-браузере. проблема в том, что я не могу получить какие-либо функции из своего апплета. Я пробовал десятки уроков и ответов на этом сайте, но ничего не дает никакого другого результата. В браузере всегда сказано, что AppName.FunctionName не является функцией.Функции Java-апплета недоступны Javascript
Вот мой HTML ...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4 /strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Test Applet</title>
</head>
<body onload="test()">
<applet code="TestApplet.class" name="AppTest"
height="350" width="100"></applet>
<script language="Javascript">
function test(){
alert("Attempt 1");
var elem= document.getElementById('AppTest');
alert(elem);
elem.test();
alert("Attempt 2");
document.AppTest.test();
}
</script><br>
</body>
</html>
и вот мой Java-код ...
import javax.swing.JApplet;
public class TestApplet extends JApplet {
public String sayHi(){
return "hello";
}
public void test(){
System.out.println("You did it bro");
}
}
Любые идеи, почему это, кажется, не делать ничего? Примечание: Я проверяю его с помощью FireFox
EDIT:
Так, пытаясь приблизиться к рабочему раствору, я изменил свой HTML следующим образом
<html>
<head>
<title>Test Applet</title>
</head>
<body>
<applet code="AppPack.TestApplet.class"
codebase="TestApplet.jar" name="AppTest"
scriptable="true" height="350" width="100"></applet>
<script language="Javascript">function test(){
document.AppTest.test();
}
</script><br>
<input name="tryit" value="TryIt" onclick="test()"
type="button">
</body>
</html>
Я пытался использовать codebase, видя, как включение в него рисует апплет на холст, однако в поле просто содержится ошибка, описывающая исключение класса, но без него я получаю пустую страницу с помощью только кнопки. ВСЕ файлы находятся в одном каталоге, и если я тестирую апплет в eclipse, он генерирует html для запуска апплета в средстве просмотра, но эти html-файлы также не загружаются, если их открывать просто с помощью броузера. Пожалуйста, может кто-нибудь пролить свет на то, что я делаю неправильно?
Функция тестирования называется слишком скоро. - Апплет не должен иметь конструктора. Поместите этот код в 'init()' и объявите его 'scriptable = 'true'' при развертывании. Зачем писать апплет? Если это связано со спецификацией. учителем, пожалуйста, обратитесь к [Почему учителя CS должны прекратить преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should-stop-teaching-java-applets/). –
Можете ли вы привести мне пример того, что вы имеете в виду? Апплет для проекта, связанного с работой, мы хотим иметь доступ к некоторым утилитам Java на стороне сервера для внутреннего использования. – adam5990
* «Можете ли вы привести мне пример того, что вы имеете в виду?» * Можете ли вы ответить на мой вопрос - а именно ** «Зачем писать апплет?«** –