Подтвердить что ты не робот

Как отправлять реальные сообщения рычания с помощью javascript?

Можно ли отправлять уведомления о выражении на пользовательский компьютер из веб-приложения, используя javascript? Это будет только в приложении интрасети, поэтому безопасность не является серьезной проблемой. Кроме того, он будет ограничен только пользователями Mac с Safari или Firefox.

Спасибо.

4b9b3361

Ответ 1

У Growl есть сетевой интерфейс, а HTML 5 Web Sockets, поэтому теоретически это возможно полностью в JavaScript (когда реализованы веб-сокеты). Более реалистично, если ваш веб-сервер подключен к той же сети, что и ваши клиенты (т.е. Может видеть и подключаться к их индивидуальным IP-адресам), вы можете выполнить обратный вызов стиля AJAX на script на сервере, который сделает сетевой запрос.

Ответ 3

Fluid, основанный на конкретном сайте генератор браузера для Mac, предоставляет API уведомлений JavaScript Growl [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.

Одним из недостатков этого подхода является, конечно же, принудительное использование пользователями браузера Fluid при доступе к интрасети.

Настройка моста, такого как Adam, имеет то преимущество, что требуется минимальное усилие от пользователей.

Ответ 4

Я попытался придумать решение для отправки рычащего сообщения с javascript, без везения, к сожалению. Я обобщу свое исследование для будущей справки.

Возможные решения:

  • Flash - из-за наличия флэш-памяти, имеющей доступ к обычным соединениям сокетов, казалось хорошей идеей придумать флеш-фрагмент, который предоставит некоторый API для javascript через ExternalInterface. Flash-объект будет обслуживаться с сервера веб-сайта (удаленное местоположение) и попытаться связаться с локальным интерфейсом growl, который инициирует проверку файла политики междоменного домена. Это включает в себя связь, которая пока не понята (поддерживается) службой рычания, поэтому соединение не удастся. В качестве дополнительной информации: ворчание для окон имело поддержку для флэш-ориентированных клиентов, но, судя по этому недавнее обсуждение, оно было разбито в текущей версии).

  • WebSockets. Подобно флеш-идеологической идее, websockets требует первоначального обмена несколькими http-ответами/ответами до того, как соединение будет обновлено до обычного двустороннего соединения сокета. Как и во Flash-подходе, это сработает, но потребует рычания для поддержки этой начальной связи на основе http до соединения сокета. Growl на данный момент не поддерживает, некоторые говорят, что это возможно, как только спецификация для рычания станет окончательной.

  • Google Gears - не проверял, но google gears был отменен с марша 2011, возможно, поднимая проблемы с поддержкой Firefox в версии >= 4.

Ответ 5

Сообщение http://ajaxian.com/archives/growls-for-windows-and-a-web-notification-api содержит ссылку на файл growl.js, который был написан для работы с Growl для Windows. Я не изучил его достаточно, чтобы узнать, будет ли подобный подход работать с Growl.

Ответ 6

Для клиентских методов я пробовал следующее:

При использовании Growl для Windows или Growl версии 1.3+, вы можете использовать двоичный файл Flash, как показано на этой демонстрационной странице

Также существует расширение chrome, созданное GfW, которое использует двоичный файл как NPAPI изначально. GrowlChrome
Они основаны на протоколе GNTP, который был разработан GfW, а исходный проект Growl (для Mac), который был спроектирован, принял его с версии 1.3

Для версии 1.2.x я нашел еще одно хромированное расширение: Twitter Notifier и Увеличитель уведомлений для Google Play. Эти расширения основаны на JSGrowl

Ссылки

Ответ 7

Вы также можете попробовать Gritter, "напоминание о рычаге для jQuery".

Ответ 8

Еще один плакат упомянул об этом, но вы определенно можете использовать Javascript (с небольшой помощью Flash, но вам не нужно возиться с этой частью) для отправки уведомлений Growl, выполняемых локально. Вот тестовая страница, чтобы опробовать ее без каких-либо настроек: http://www.growlforwindows.com/gfw/examples/js/

Обратите внимание, что это только в настоящее время работает в Windows. Как отметил более ранний плакат, поддержка версии Mac для подключений на основе Flash в настоящее время нарушена.

В Windows вы также можете использовать WebSockets, и вот аналогичная тестовая страница: http://www.growlforwindows.com/gfw/examples/websocket/

Обратите внимание, что это тоже в настоящее время не реализовано в Growl на Mac, поэтому, если вы ориентируетесь на пользователей Mac (что похоже на вас), они, вероятно, не помогут. Просто хотелось указать, что оба Javascript и WebSockets - это возможности, когда поддержка полностью добавлена ​​клиенту OSX.

Ответ 9

Если у ваших пользователей есть вспышка, вы можете взять мост javascript-flash-рычаг из здесь. Вы всегда можете проверить script внутренности флеш файла с чем-то вроде JPEXS.

Я лично успешно использовал его и jQuery для настройки некоторых пользовательских уведомлений для себя с помощью mediawiki и используя tampermonkey/greasemonkey. Единственные проблемы возникают, если вспышка заблокирована/запрещена/не установлена ​​или когда вспышка падает.