Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中java方法调用的chrome崩溃_Java_Javascript_Html_Applet - Fatal编程技术网

javascript中java方法调用的chrome崩溃

javascript中java方法调用的chrome崩溃,java,javascript,html,applet,Java,Javascript,Html,Applet,我尝试在html5和javascript中使用java应用程序,但当我尝试以下操作时,Chrome总是崩溃: 在html5文档中,我有以下内容: <FORM> <INPUT type="button" value="call JAVA" onClick = "test()"> </FORM> <object name="application" type="application/x-java-applet" height="300" width="5

我尝试在html5和javascript中使用java应用程序,但当我尝试以下操作时,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>
最后是applet\u 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

这会导致问题吗?如果会,您如何使用元素获得相同的结果?

更改var app=document.getElementById(“applet_test”);到

Eclipse还抱怨在html5文档中使用小程序

可能是因为小程序标记已弃用。看看下面
更改var app=document.getElementById(“小程序测试”);到

Eclipse还抱怨在html5文档中使用小程序

可能是因为小程序标记已弃用。看看下面 这对我很有用

<!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>

功能测试(){
var app=document.applet\u测试;
警报(“屏幕尺寸\r\n宽度:+app.getScreenWidth()
+“高度:”+app.getScreenHeight());
}
这对我很有用

<!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>

功能测试(){
var app=document.applet\u测试;
警报(“屏幕尺寸\r\n宽度:+app.getScreenWidth()
+“高度:”+app.getScreenHeight());
}

你给我的链接当然很有用,但它并不能解决我所有的问题。我将applet更改为一个更通用的对象,并在java类的主过程中添加了一个。在这个例子中唯一找不到的是如何在javascript中从java类调用方法。(我修改了我的帖子)“你给我的链接当然很有用,但它不能解决我所有的问题。”所以,它应该是“每个问题一个答案”。请不要期望我们在一个问题中对这个小程序的“15件事”进行分类。一次只做一件事,标记一个正确的答案,然后继续下一部分。从链接:“新方式:HTML5中的Java小程序(使用对象标记)”实际上,Sun/Oracle已经提供了一段时间了中提到的
deployJava.js
。用它代替硬编码
applet
object
元素。你给我的链接当然很有用,但它不能解决我所有的问题。我将applet更改为一个更通用的对象,并在java类的主过程中添加了一个。在这个例子中唯一找不到的是如何在javascript中从java类调用方法。(我修改了我的帖子)“你给我的链接当然很有用,但它不能解决我所有的问题。”所以,它应该是“每个问题一个答案”。请不要期望我们在一个问题中对这个小程序的“15件事”进行分类。一次只做一件事,标记一个正确的答案,然后继续下一部分。从链接:“新方式:HTML5中的Java小程序(使用对象标记)”实际上,Sun/Oracle已经提供了一段时间了中提到的
deployJava.js
。用它来代替硬编码
applet
object
元素。谢谢你的代码,我用它工作了。现在我看到了java加载屏幕,但它并没有随着加载而停止。可能是因为我给了对象一个大小,而没有显示任何东西。这也可能是java文件本身的问题(我用当前版本更新了我的版本)你说的“但它并没有随着加载而停止”是什么意思?加载时会显示此图像:对我来说,它会消失。您是否尝试使用height=“1”width=“1”?此外,您还可以尝试使用样式在屏幕上的某个位置进行绝对定位。谢谢您的建议,现在不再显示了,剩下的唯一问题是尚未找到java类的de方法。我得到消息:uncaughttypeerror:Object#没有“getScreenWidth”方法谢谢你的代码,我得到了这个代码。现在我看到了java加载屏幕,但它并没有随着加载而停止。可能是因为我给了对象一个大小,而没有显示任何东西。这也可能是java文件本身的问题(我用当前版本更新了我的版本)你说的“但它并没有随着加载而停止”是什么意思?加载时会显示此图像:对我来说,它会消失。您是否尝试使用height=“1”width=“1”?此外,您还可以尝试使用样式在屏幕上的某个位置进行绝对定位。谢谢您的建议,现在不再显示了,剩下的唯一问题是尚未找到java类的de方法。我得到消息:uncaughttypeerror:Object#没有“getScreenWidth”方法我在我的帖子中添加了警告
元素(applet)已过时。在HTML5中不鼓励使用它,这很奇怪,因为HTML片段使用了
对象
元素。但除此之外,最好的解决方案是使用中提到的
deployJava.js
嵌入小程序。它被设计成可以在任何浏览器中工作。它检查用户是否具有运行小程序所需的最少Java(如果没有,则帮助他们更新),然后以浏览器(版本)所期望的任何形式写入任何元素。哦,它对验证服务是“看不见的”。)@安德鲁·汤普森:好消息。我没有意识到这一点。@rickz
deployJava.js
只是过去几年中为小程序引入的一个很好的小调整。人们经常说“applet在几年前就死了”,但这显然不是Sun在《日落》中所想的。我在我的帖子
元素(applet)过时的警告中加了一句。在HTML5中不鼓励使用它,这很奇怪,因为HTML片段使用了
对象
元素。但除此之外,最好的解决方案是使用中提到的
deployJava.js
嵌入小程序。它被设计成可以在任何浏览器中工作。它检查用户是否具有所需的最少Java
<!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>