【问题标题】:getting error when accessing a java variable (via java method) using javascript使用 javascript 访问 java 变量(通过 java 方法)时出错
【发布时间】:2013-04-14 22:34:27
【问题描述】:

由于某种原因,我无法使用 JavaScript 读取要读取的变量。

我正在使用一个小程序,我在 Chrome 控制台中遇到的错误是:

未捕获的错误:java.security.AccessControlException:访问被拒绝 ("java.lang.RuntimePermission" "getenv.processor_identifer")

未捕获的错误:在 NPObject 上调用方法时出错。

访问代码:

<html>
  <head>
      <title>Javascript call Applet example</title>
  </head>
  <body>
      <script type="text/javascript">
        function callSerial() {
            var foo = systemInfo.getSerial();
            console.log(foo);
        }
      </script>
      <center>
          <form>
              <input type="button" value="Call Applet" onclick="callSerial();"/>
          </form>
          <br/><br/>

          <applet id="systemInfo" code="systeminfo.class" width="300" height="50"></applet>

      </center>
  </body>
</html>

有什么想法吗?

【问题讨论】:

  • 通过java方法使用java脚本是什么意思
  • 你读过this吗?你设置了“MAYSCRIPT”吗?再想一想,这看起来像是一个权限问题——你的小程序签名了吗?
  • @hop:我在我的applet文件public String Serial() {.....中使用java方法,然后用javascript读取这个方法(方法返回一个字符串,就是我要读取的字符串)
  • @bmorris591:你是什么意思签名(很可能不是)?如何做到这一点
  • 为什么编辑会从链接中删除Java代码?

标签: java javascript liveconnect


【解决方案1】:

一些建议:

1) 在您的小程序代码中,提及 code= 完全限定的类名。 即:package.class

2) 如果您的 java 类试图从本地客户端文件系统访问某些文件,那么您将必须像这样签署您的小程序 >>http://www.developer.com/java/data/article.php/3303561/Creating-a-Trusted-Applet-with-Local-File-System-Access-Rights.htm

问候,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 2016-01-20
    • 1970-01-01
    • 2014-10-16
    • 2012-07-04
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多