java - 如何在 Safari 中通过 Javascript 访问 Java 对象

标签 java javascript safari

我写了一个Java Applet,它是用HTML加载的,它的功能是通过javascript调用的。

Applet ist 加载了这个 html 代码:

<applet id="xapplet" code="xapplet" archive="java/xApplet.jar" height="0" width="0"></applet>

小程序中有一个函数,返回一个ArrayList。

public ArrayList<String> GetXY()
{
    ArrayList<String> lStrX=new ArrayList<String>();

        lStrX.add("X");
        lStrX.add("Y");

    return lStrX;
}

函数是通过javascript调用的:

var applet = document.getElementById('xapplet');
var xy = applet.GetXY();

在大多数浏览器中,我可以访问作为结果给出的 java 对象的属性。我已经用 Firefox、Internet Explorer 和 Chrome 成功地测试了这个。 只有在 Safari 中,我得到的对象具有“CRuntimeObject”类型,它没有任何属性或功能。

所以在我看来,在 Safari 中我必须做一些不同的事情。谁能帮帮我?

谢谢。

最佳答案

我不知道如何在 Saphari 上执行此操作,但我建议您对 Java 代码进行一些更改。您的方法应该返回数组,而不是列表。我相信在这种情况下,您将能够在所有浏览器中从 java 脚本访问该数组的元素。

关于java - 如何在 Safari 中通过 Javascript 访问 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245568/

相关文章:

javascript - 为什么我的属性失去定义? (JS)

javascript - 如果已经触发了另一个事件,则不要触发一个事件

html - CSS - 边框不隐藏在 Safari 中

java - 如何在java中的自定义异常类中添加条件

javascript - Chrome 扩展程序 - 奇怪的执行顺序

xml - XSLT document() 在 WebKit 浏览器中的使用

ios - Service Worker FechtEvent.respondWith 响应在 iOS 12.1 Safari 上为空

java - 如何在lucene中使用tf idf相似度对文档进行排名

java - 无法在不同的 spring boot 应用程序中的不同端口上启动 2 个嵌入式 active-mq

java - 相同的 jvm 选项,tomcat 和 jetty 的不同 gc 输出