- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直致力于一个项目,该项目需要在 Java 和 JavaScript 之间进行双向通信。我已经成功地让它在 OS X 的所有浏览器下运行,但我现在面临着让它在 Windows 上的任何浏览器下运行的挑战。目前它根本不起作用。
我只是想知道是否需要做一些特殊的事情才能使 JavaScript 与 Java 通信?
我的小程序代码如下所示:
<applet id='theApplet'
code="com/company/MyApplet.class"
archive="SMyApplet.jar"
height="50" width="900"
mayscript="true" scriptable="yes">
Your browser is ignoring the applet tag.
</applet>
加载小程序后,我会尝试像这样调用它的函数:
alert("Call some java:" + theApplet.testFunc());
并且在 firebug 控制台中出现以下错误:
theApplet.testFunc is not a function
我可以确认这在 IE 中也不起作用。
当页面加载时,我打开了 java 控制台,我可以看到小程序已成功加载并准备好接受调用。
如有任何帮助,我们将不胜感激!
干杯
更新:这是公开我试图调用的公共(public) api 的精简 java 代码。
package com.company;
import com.google.gson.Gson;
import java.applet.*;
import java.io.*;
import java.net.*;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.*;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.*;
import netscape.javascript.*;
public class MyApplet extends Applet implements Runnable
{
public void init()
{
JSON = new Gson();
isReadyVar = 0;
workThread = null;
}
public void start()
{
}
public void run()
{
System.out.println("Done");
}
public void stop()
{
}
public void destroy()
{
}
/* Public API */
public int testFunc()
{
return 200;
}
}
更新[已解决]:
我想通了到底是什么问题。原来我使用的 Gson lib 没有签名;但我自己的 jar 是。 Windows 上的浏览器要求所有库都已签名;所以我将 Gson 与我的 java 文件打包在一起并签署了很多,它解决了问题!感谢大家的帮助!
最佳答案
我想通了到底是什么问题。原来我使用的 Gson lib 没有签名;但我自己的 jar 是。 Windows 上的浏览器要求所有库都已签名;所以我将 Gson 与我的 java 文件打包在一起并签署了很多,它解决了问题!感谢大家的帮助!
关于使用 LiveConnect 的 Javascript 到 Java 通信不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615886/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!