[英]How to send real growl messages with javascript?
是否可以使用javascript从Web应用程序向用户的计算机发布咆哮通知? 这仅适用于Intranet应用程序,因此安全性不是主要问题。 此外,它仅限于使用Safari或Firefox的Mac用户。
谢谢。
Google Gears对Growl通知提供了实验性支持 。
Fluid是Mac的特定于站点的浏览器生成器,它公开了一个JavaScript Growl通知API [ 1 ]:
window.fluid.showGrowlNotification({
title: "title",
description: "description",
priority: 1,
sticky: false,
identifier: "foo",
onclick: callbackFunc,
icon: imgEl // or URL string
})
相关来源位于Fluid Developer页面上 。
您可以在userscripts.org上搜索真实示例。
当然,这种方法的一个缺点是,在访问Intranet应用程序时,您必须强制用户使用Fluid浏览器。
建立像亚当建议的桥梁具有需要用户付出最少努力的优点。
我试图想出一个用javascript发送咆哮消息的解决方案,没有运气,可悲的是。 我将总结我的研究以供将来参考。
可能的解决方案:
Flash - 由于闪存可以访问常规套接字连接,因此提出一个Flash片段似乎是一个好主意,该片段会通过ExternalInterface将一些API暴露给javascript。 Flash对象将从网站服务器(远程位置)提供,并尝试与本地growl接口进行通信,这将触发检查跨域策略文件。 这涉及到目前为止不被咆哮服务理解(支持)的通信,因此连接将失败。 作为一个额外的信息:对于基于闪存的客户端,可以支持基于Flash的客户端,但从最近的讨论来看,它在当前版本中已经破了。
WebSockets - 类似于基于flash的想法,websockets需要在连接升级到常规双向套接字连接之前初始交换一对http请求/响应。 与Flash方法一样,这可行,但需要使用growl来支持套接字连接之前的基于http的初始通信。 一旦咆哮的规格是最终的,Growl现在不支持这一点,有人说它可能。
Google Gears - 尚未对其进行测试,但截至2011年3月谷歌设备已经停产 ,可能会引发支持Firefox版本> = 4的问题。
帖子http://ajaxian.com/archives/growls-for-windows-and-a-web-notification-api包含一个指向growl.js的链接,该链接是为了与Growl for Windows一起使用而编写的。 我没有仔细研究过,以了解类似的方法是否适用于Growl。
你也可以试试Gritter ,“jQuery的类似于咆哮的通知。”
另一张海报提到了它,但你绝对可以使用Javascript(有一点Flash的帮助,但你不必混淆那部分)向本地运行的Growl发送通知。 这是一个试用版,无需设置任何内容: http : //www.growlforwindows.com/gfw/examples/js/
但请注意,这仅适用于Windows。 正如早先的一张海报所指出的,Mac版本对基于Flash的连接的支持目前已被打破。
在Windows上,您也可以使用WebSockets,这是一个类似的测试页面: http : //www.growlforwindows.com/gfw/examples/websocket/
请注意,这也是目前没有在Mac上的Growl中实现的,所以如果你的目标是Mac用户(听起来像你),这些可能没有帮助。 只是想指出一旦支持完全添加到OSX客户端,Javascript和WebSockets都是可能的。
如果您的用户有闪存,您可以从这里借用javascript-flash-growl网桥。 您始终可以使用JPEXS等内容检查Flash的脚本内部。
我个人成功地使用它和jQuery 使用mediawiki和使用tampermonkey / greasemonkey为自己设置一些自定义通知。 如果阻止/禁止/未安装闪存或闪存崩溃时,唯一的问题就出现了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.