我学习了几天自定义协议(protocol),有一件事我不明白。
我知道如何使用自定义协议(protocol)启动应用程序,但我的问题是,
是否可以使用 javascript 在 Web 浏览器中获取应用程序响应并将其打印出来?
例如,如果我将请求发送到协议(protocol) myapp:// ,这将打开一个用 C# 编写的应用程序,并且该应用程序将返回字符串“This is response” 可以在 Web 浏览器中打印它吗?< br/>
如果是这样,你能帮我完成吗?
提前致谢。
最佳答案
Internet 协议(protocol)不仅仅与浏览器有关。
mailto:在电子邮件程序中引起一个 Action (例如开始一封新电子邮件)
ftp:在 FTP 程序(可能被集成到网络浏览器或 Windows 资源管理器中)中引起一个 Action
gopher:(好吧,that's 不再流行了)
myapp:// 将使您的 (C#) 应用程序开始运行。在这一点上,它可以做 C# 应用程序可以做的任何事情。它可以选择做的一件事是在磁盘上创建一个 .html 文件,然后使用
Process.Start("file://Path/To/My.html")
使默认网络浏览器打开它刚刚创建的文档。
更新
您当然可以让您的 myapp://协议(protocol)处理程序向托管相关页面的 Web 服务器发送更新。我在这里的假设是 myapp://处理程序在客户端机器上运行,并且在不同的 URL http://mydomain.com 上有一个 Web 服务器。提供包含 myapp://引用的页面。
- Web 服务器呈现一个包含 myapp://URL 和 Ajax 代码的页面,以定期查询 Web 服务器以获取对部分 HTML 正文的更新。
- 用户点击 myapp://URL
- 协议(protocol)处理程序运行
- 协议(protocol)处理程序向网络服务器发送更新,例如
http://mydomain.com?user=joe&result=123
- Web 服务器使用
?user=joe&result=123
在下次启动 Ajax 回调时更新响应 - Ajax 回调从网络服务器获取页面的更新数据,更新页面。
关于javascript - 获取自定义协议(protocol)响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368852/