En tant qu'auteur de script utilisateur, j'aimerais pouvoir envoyer des notifications cliquables à mes utilisateurs au lieu d'alerter sur les fenêtres de confirmation dans de nombreuses situations.
en utilisant le patch de #1193 c'est un morceau de gâteau, la partie cliquable est un peu de travail supplémentaire cependant.
note : @icon de #1096 pourrait être utilisé pour l'icône de la notification.
Ce serait bien de l'avoir en dehors du DOM non privilégié parfois... mais un consensus sur le type de notification peut être un problème.
L'expression "envoyer des notifications" est extrêmement vague.
En supposant que vous entendiez par là "fournir une interface à
Je pense que ma réaction instinctive serait que cela devrait être un @require qui le met dans le DOM de _that_ page, sinon comment l'utilisateur est-il censé savoir de quelle page vient le message (surtout quand il pourrait y avoir plusieurs onglets appropriés ouverts) ?
En supposant que vous vouliez que cela signifie "fournir une interface à nsIAlertsService"
Oui, cela utiliserait ce que j'ai implémenté dans #1193
le toast a disparu presque avant que j'aie eu le temps d'arrêter ce que je fais, de lire la boîte et de comprendre ce qu'elle dit.
Eh bien, je les aime, et je pense qu'il est préférable pour un auteur de script utilisateur de décider si cela est utile ou non pour son script. En plus, je pense que la durée d'affichage est un paramètre personnalisable, du moins avec osx, je le sais.
Je pense que ma réaction instinctive serait que cela devrait être un @require qui le met dans le DOM de cette page,
comment cela se ferait..?
comment l'utilisateur est-il censé savoir de quelle page provient le message (surtout lorsqu'il peut y avoir plusieurs onglets appropriés ouverts) ?
le titre peut être le nom du script utilisateur et l'icône peut être @icon.
Ils semblent être extrêmement brefs et difficiles à interagir. Presque chaque fois (par exemple) que Firefox ou Thunderbird me dit qu'il y a une mise à jour ou un nouveau message, le toast a disparu presque avant que j'aie eu le temps d'arrêter ce que je fais, de lire la boîte et de comprendre ce qu'elle dit.
alerts.totalOpenTime est le paramètre que vous souhaitez modifier, la valeur par défaut est de 4 secondes, j'aime généralement 30 secondes.
Seriez-vous prêt à ajouter une prise en charge d'images personnalisées ?
function GM_notification(aMsg, aTitle, aImg) { var titre = aTitre ? "" + aTitre : "Greasemonkey" ; var message = aMsg ? "" + aMsg : ""; var image = aImg ? "" + aImg : "chrome://greasemonkey/skin/icon_medium.png" ; essayer { alertsServ.showAlertNotification( image, titre, message, faux, "", null); // Cela semble mieux sur Ubuntu que Windows ( http://i55.tinypic.com/2jfwtg9.png ) } capture (e) { // Au cas où, par exemple, Growl n'est pas installé sur un Mac. alert(titre + "\n" + message); } } ;
Dupé par #1271
voter ne réglera pas ce problème
voter ne résoudra pas pour cela
Pourquoi?
arantius a écrit :
Le fait est que la fonctionnalité qu'elle a remplacée dépendait de la barre d'état, qui disparaît dans Firefox 4. Elle n'est, pour le moment, pas plus que cela.
Cette fonctionnalité serait utile pour les scripts qui redirigent le DOM plusieurs fois et atterrissent finalement sur une image au lieu d'un htm/l et autorisent toujours les notifications à l'utilisateur final qu'un certain détail s'est produit. Comme nous le savons tous, user.js ne fonctionne que sur les fichiers .htm/l et non sur les images.
Voter +1 pour exposer la fonction API au sandbox
car c'est très simple à faire avec des avantages supplémentaires.
EDIT : pour répondre à la demande de GM-Script-Writer-62850, la valeur de @icon
pourrait facilement être utilisée en conjonction avec cela.
Firefox 22 prend en charge les notifications Web : https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/22
+1
Firefox 22 prend en charge les notifications Web : https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/22
Mais je pense qu'il y a une erreur majeure (https://bugzilla.mozilla.org/show_bug.cgi?id=875114, respectivement https://bugzilla.mozilla.org/show_bug.cgi?id=862395). Ensuite, je peux fermer : https://github.com/greasemonkey/greasemonkey/issues/1742
Dans certains cas d'utilisation, nous pouvons utiliser des notifications Web à la place, qui peuvent être ajoutées à Firefox à l'aide de divers modules complémentaires tels que tab notifier .
Dans certains cas d'utilisation, nous pourrions utiliser des notifications Web à la place, qui peuvent être ajoutées à Firefox à l'aide de divers modules complémentaires comme le notificateur d'onglet.
Mais en utilisant l'API de notification Web, le script ne peut afficher des notifications que si l'utilisateur autorise le site à le faire. L'utilisateur n'a pas le choix de désactiver les notifications du site Web mais de les activer à partir du script.
C'est vrai, j'ai totalement raté cet aspect. :+1:
Une solution de contournement pourrait consister à utiliser un mot de passe secret et à configurer le notificateur d'onglet pour afficher uniquement les notifications qui l'incluent. Selon la perversité du site, un seul caractère Unicode étrange peut suffire, voire être invisible.
Encore une fois, cette API est nécessaire car le site Web commence à afficher des notifications sur l'utilisateur qui souhaite les bloquer. Mais je dois aussi afficher les notifications. En conséquence, l'utilisateur n'a pas le choix entre désactiver toutes ces notifications ou les activer toutes. J'ai besoin de cette API pour que l'utilisateur n'autorise que les notifications du script utilisateur.
La branche test :
https://github.com/janekptacijarabaci/greasemonkey/tree/_testBranch_GM_notification
Synchroniser l'API avec Tampermonkey
Voir aussi https://tampermonkey.net/documentation.php#GM_notification
C'est juste pour tester !
Utilise la fonction " PopupNotifications " (!= " API de notification Web (HTML5)") !
(Je n'ai pas besoin de cette fonctionnalité - pour l'instant j'attendrai de résoudre ce problème : bug 862395 )
@janekptacijarabaci Merci, mais j'ai trouvé que c'était buggé...
(Je ne sais pas quand le bug 862395 sera corrigé. Mais je pense qu'il vaut mieux avoir un buggy mais utilisable que rien.)
Branche de test mise à jour :
Notifications contextuelles => Notification sur le bureau
@janekptacijarabaci
Merci.
À ma connaissance, actuellement la mise en œuvre dans la branche de test n'autorise la notification que lorsque l'utilisateur autorise le site à le faire. C'est comme appeler directement Notification
. L'utilisateur n'a toujours pas le choix de désactiver la notification du site mais de l'autoriser à userscript.
Je ne suis pas sûr de ce que vous considérez que cette API devrait être. Mais j'espère que celui-ci pourra fonctionner avec un contrôle d'autorisation différent des scripts de contenu du site Web. (Et c'est actuellement le cas pour TM. Ils autorisent toujours les notifications d'affichage de script utilisateur)
@tiansh
La question est de savoir comment faire...
La notification de bureau dans Chrome (Tampermonkey) est différente :
https://developer.chrome.com/extensions/desktop_notifications
Le principal du système (privilégié par Chrome) doit recevoir l'autorisation. Mais...
Utilisation de la transmission de messages (en particulier sous e10s sur) - tue tous les événements (onclick, ondone).
Cette fonction peut être utilisée comme suit :
https://github.com/greasemonkey/greasemonkey/blob/3.9/modules/sandbox.js#L75
(https://github.com/greasemonkey/greasemonkey/blob/3.9/modules/menucommand.js#L90)
mais je laisse le soin à la communauté/arantius (je ne suis pas sûr de la meilleure façon de le faire).
(Je ne sais pas si quelqu'un veut faire ça : #2275 - http://arewewebextensionsyet.com/#notifications)
Je n'ai pas de meilleure idée maintenant...
Cependant j'ai fait quelques tentatives...
Édité:
Mais... Exécuter GM_notification() deux fois (et plus) de suite ne fonctionne pas pour moi.
Voir aussi bug 1263155 ( 1294332 , 1306822 )...
POUR VOTRE INFORMATION...
RÉSOLU FIXE
https://bugzilla.mozilla.org/show_bug.cgi?id=862395
Alors... A-t-il été mis en œuvre ou non ?
@VBelozyorov , je ne pense pas qu'il ait été implémenté pour 3.x. Mais pour 4.x #2590
Commentaire le plus utile
POUR VOTRE INFORMATION...
RÉSOLU FIXE
https://bugzilla.mozilla.org/show_bug.cgi?id=862395