[英]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.