【发布时间】:2013-10-27 18:56:33
【问题描述】:
我使用一个应用程序(AppWorx!请有人创建此标签!),它允许以 html 格式输入有关计划作业的文档。
我一直在尝试创建具有如下链接的待命文档:
<a href="tel:+1806xxxxxxx">1 (806) xxx - xxxx</a>
该页面显示在 Java 应用程序本身内,并且任何指向 http:// 的链接都会在用户的浏览器窗口中打开。但是像上面这样的电话链接会导致一个大的错误窗口弹出,显示以下错误:
java.net.MalformedURLException: For input string: "+1806xxxxxxx"
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.appworx.client.screen.modmgr.M$2.hyperlinkUpdate(NotesPanel.java:191)
at javax.swing.JEditorPane.fireHyperlinkUpdate(Unknown Source)
at javax.swing.text.html.HTMLEditorKit$LinkController.activateLink(Unknown Source)
at javax.swing.text.html.HTMLEditorKit$LinkController.mouseClicked(Unknown Source)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
其他协议也会失败(http 除外)。如果我有一个 mailto: 链接,而不是收到上述错误,它会将我带到电子邮件地址的域部分。
我相信编译该应用程序所使用的此类的任何版本都已存在数年(也许很多年)。
谁能告诉我这个类的限制是什么,或者是否存在解决方法?
Appworx 的文档表明,除非从 jnlp 调用应用程序,否则即使是 http 链接也不起作用(这是否是沙盒的东西?)。尽管如此,这里没有人以任何其他方式启动应用程序。
【问题讨论】:
-
"..links 将不起作用,除非从 jnlp 调用应用程序(这是否是沙盒的东西?)" 他们可能正在使用JNLP API 打开 URL(1)。该 API 仅适用于应用程序。使用 JWS 启动。 1) 例如如demo. of the
BasicService中所见(使用BasicService.showDocument(URL))。 -
这不值得作为答案,但是 tinyurl 链接可以工作,而且它们显然可以重定向到其他协议。
标签: java html swing protocols htmleditorkit