【问题标题】:Malformed URL Exception on Java Applet in SafariSafari 中 Java Applet 的 URL 异常
【发布时间】:2011-03-17 22:58:44
【问题描述】:

我想知道这只是我还是什么。我编写了一个在 Chrome、Firefox 和 IE 中完美运行的小程序,但是当我在 Safari 上尝试它时,它在初始化时立即死机。问题是,我的 init 函数实际上并没有做任何事情,只是将“Initialized”打印到 Java 控制台。

我在 java 控制台中得到以下信息(注意我的“初始化”调试消息):

Initialized
java.net.MalformedURLException: no protocol: 
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(Unknown Source)
    at sun.plugin.liveconnect.SecureInvocation.access$000(Unknown Source)
    at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)

我开始认为这是一个 Safari 问题,因为尝试启动小程序的行为使其失败。

【问题讨论】:

  • 没有足够的上下文来回答这个问题(= 我们需要代码)。你是用 JavaScript 访问你的小程序,还是从你的小程序访问 JavaScript?
  • 我正在使用javascript构建一个按钮来启动小程序。

标签: java safari applet


【解决方案1】:

看起来 WebKit 正在删除 http://

顺便说一句,它不在你的 init 函数中,它是 URL 的构造函数

【讨论】:

    【解决方案2】:

    显然,Safari 不喜欢我在小程序中调用的方法被称为“打印”

    我将它重命名为“printDocument”,它现在可以工作了。我仍然收到格式错误的 url 异常,但它似乎并没有阻止小程序工作。

    【讨论】:

    • 我终于找出了格式错误的 url 异常。我的 printdocument 方法被重载 (string, bool, bool) 和 (string, string, bool) 版本。这在 Windows 中运行良好,但 mac 上的 java 选择了正确的,所以它发送一个 bool 值作为第二个 url 字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多