сбой Chrome с вызовом метода Java в JavaScript - PullRequest
0 голосов
/ 30 марта 2012

Я пытаюсь использовать приложение java в html5 и javascript, но Chrome всегда вылетает при попытке выполнить следующее:

В документе html5 у меня есть это:

<FORM>
<INPUT type="button" value="call JAVA" onClick = "test()">
</FORM>

<object name="application" type="application/x-java-applet" height="300" width="550" >
<param name="code" value="loader"/>
<param name="java_arguments" value="-Djnlp.packEnabled=true"/>
</object>

В файле javascript я использую эту функцию (функция onclick test () -)

function test() {
    var app = document.getElementById("applet_test");
    alert("Screen Dimension\r\n  width:" +
         app.getScreenWidth() + " height:" +
         app.getScreenHeight() );
}

И, наконец, это applet_test.java файл:

import java.applet.*;
import java.awt.*;

public class applet_test extends Applet 
{   public int getScreenWidth() {
        return Toolkit.getDefaultToolkit().getScreenSize().width;
      }
      public int getScreenHeight() {
        return Toolkit.getDefaultToolkit().getScreenSize().height;
      }
    public void main(String [] args) {

    }
}

Кто-нибудь знает, почему это не сработает? Eclipse также жалуется на использование апплета в html5-документе:

Element (applet) is obsolete. Its use is discouraged in HTML5

Может ли это вызвать проблемы, и если да, то как вы можете получить тот же результат с элементом?

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Это работает для меня.

<!DOCTYPE html>
<html lang="en"><FORM>
<head>
<script>
function test() {
    var app = document.applet_test;
    alert("Screen Dimension\r\n  width:" + app.getScreenWidth()
      + " height:" + app.getScreenHeight());
}
</script>
<body>
<INPUT type="button" value="call JAVA"
   onClick = "test()">
</FORM>
<object name="applet_test" type="application/x-java-applet" height="300" width="550" >
<param name="code" value="loader.class"/>
</object>
</body>
</html>
1 голос
/ 30 марта 2012

Изменить var app = document.getElementById ("applet_test"); до

var app = document.applet_test;  

Eclipse также жалуется на использование апплета в html5-документе.

Возможно, потому что тег апплета устарел. Посмотрите на нижнюю часть https://eyeasme.com/Shayne/HTML5_APPLETS/

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