我在网站中嵌入了 JavaScript,在普通浏览器中运行,并且在同一台机器上运行了 Java 应用程序。我正在寻找一种方式让双方相互沟通。
我认为从浏览器中运行的 JavaScript 内部在本地文件系统中创建文件是不可能的。
我想到的唯一方法是使用两个程序都可以向其发送消息并从中轮询新消息的服务器。
还有其他方法可以实现吗?
最佳答案
我在实践中看到的几种方式:
- 您的 Java 应用程序可能会监听您的 JS 将访问的某些本地端口,例如通过 XHR。您需要注意跨站点脚本(您的 JS 可能需要从该本地 URL 加载),但这是可行的。最简单的可能是运行嵌入式 HTTP 服务器。
- 您的 Java 应用程序可以在操作系统中注册为协议(protocol)处理程序。然后 JS 将打开在应用程序中注册的链接,从而向它发送数据。
正如@PavelHoral 指出的那样,CORS是解决方法 same-origin policy .
关于java - 在浏览器中运行的 Java 应用程序和 JavaScript 可以相互通信吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230250/