0

J'essaie de créer un script pour DeviantArt qui clique sur "Supprimer des notifications" lorsque j'appuie sur la touche d'effacement. Deviantart permet à l'utilisateur de suivre des artistes et fournit de nouvelles illustrations sous un système de notification commun. Lorsque vous cliquez sur une illustration à partir des notifications, un bouton sur la droite permet à l'utilisateur de supprimer cette illustration des notifications.Comment créer un script greasemonkey qui clique sur un bouton de la page lorsqu'on appuie sur une touche?

Image Link

Voici le code que j'ai essayé ce qui ne fonctionne pas. .

// ==UserScript== 
// @name   Deviations remove shortcut 
// @namespace  DeviationsRemShortcut 
// @include  http://www.deviantart.com/art/* 
// @include  https://www.deviantart.com/art/* 
// ==/UserScript== 

(function(){ 
document.addEventListener('keydown', function(e) { 
// pressed del 
    if (e.keyCode == 46 && !e.shiftKey && !e.ctrlKey && !e.altKey &&  !e.metaKey) { 
    document.querySelector(".remove-message-button").click(); // this will trigger the click event 
    } 
}, false); 
})(); 

Lorsque je saisis manuellement document.querySelector ("remove-message bouton") cliquez sur(); dans la console cela fonctionne comme prévu.

Répondre

0

Je suppose que vous voulez créer une touche de raccourci pour la fonctionnalité Remove from notifications, en appuyant sur une touche.

J'ai trouvé un morceau de code exemple en ligne http://jsfiddle.net/arunpjohny/SZ9TG/1/

Pour que cela fonctionne, déplacez votre curseur sur la zone de sortie de l'interface utilisateur, puis cliquez dans la section de sortie, je pense que cette façon, il sait que vous êtes sur ce fenêtre. Ensuite, écoutez votre événement keydown. Il utilise window.addEventListener au lieu de document.addEventListener

+0

J'ai remplacé document.querySelector (". Remove-message-button"). Click(); // cela déclenchera l'événement click avec votre ligne. Et ça n'a pas fait de différence. J'ai cependant rencontré ce lien qui montre le javascript pour ce que j'essaie de faire mais qui nécessite une extension chrome pendant que j'utilise firefox. https://bakkeby.deviantart.com/art/How-to-add-dA-keyboard-shortcuts-291719603 Le problème n'est pas la ligne querySelector, elle fait sa fonction quand je l'entre directement dans la console. L'instruction if ne déclenche pas je pense. –

+0

ok, pouvez-vous déboguer et voir si l'événement est déclenché? Je veux dire l'événement 'keydown'. – grepLines

+0

@HenryChalice Est-il correct que vous voulez gérer 'Supprimer des notifications' lorsque l'utilisateur appuie sur la touche, qui a partagé la même fonctionnalité que lorsque l'utilisateur clique sur le bouton? Donc, ce que vous essayez de faire est de supprimer par raccourci, est-ce correct? – grepLines