我试图找出是否有标准或推荐的方式从javascript通信到嵌入浏览器小部件的应用程序,反之亦然。托管应用程序可以用java或c ++编写,也可以在Windows和Unix平台上运行,但javascript可以在两个客户端共享。
到目前为止,我读过:
还有哪些其他选择?
谢谢! 希亚姆
答案 0 :(得分:0)
我们有一个承载微软WebBrowser object(IE)的VB6应用程序。我们使用了一种简单的URL拦截机制来促进浏览器和托管应用程序之间的通信。由于浏览器控件具有before navigate接口,因此我们可以提取URL并检查命令并取消导航事件(因为它适用于托管应用程序)或让它通过(因为它是普通网址)。
我们在Javascript或HTML链接标记中使用了app://commandName?arg1=val&arg2=val
之类的内容。
然后在浏览器的BeforeNavigate事件中,我们检查app://
的网址,如果我们知道,我们知道浏览器正在向父应用程序发送消息。
简单但有效(无论如何我们的需要)。
修改强>
还应该提到大多数嵌入式浏览器也有操纵DOM的机制。请记住,您应该能够提取信息(HTML节点)并随意注入信息。
答案 1 :(得分:0)
JavaScript具有XMLHttpRequest API,可以将数据发送到服务器并从服务器检索数据。将此API与使用XML或JSON格式化的消息一起使用时,将其指定为AJAX。
AJAX可用于实现您给出的示例,HTML / javascript中的树节点在扩展时从服务器检索子节点列表。 请注意,使用AJAX时,服务器可能使用任何语言(C,Java,Python,Ruby等)编写。
我建议你阅读有关AJAX的内容。在熟悉了AJAX之后,您可以阅读web services一些内容。 Web服务是一种通过WEB以任意编程语言开发的2个应用程序的通信方法。