J'ai écrit cette extension qui modifie fondamentalement l'aspect d'un site Web en utilisant CSS et JS. Mais maintenant je veux ajouter quelques paramètres de case à cocher à l'extension afin que les utilisateurs puissent basculer les fonctionnalités du site.Ajout de paramètres de case à cocher à une extension Safari
J'ai essayé de lire la documentation et j'ai recherché partout sur le Web. Même essayé de chercher des extensions de démo que je pouvais inverser l'ingénieur, mais en vain. Supposons que je souhaite ajouter une "case à cocher", la nommer "sidebar" et lui attribuer une valeur "clé" de "tg_sidebar". Est-ce que quelqu'un peut m'expliquer comment j'ajouterais un écouteur d'événement pour ceci, et puis déclencherais un certain code de jquery?
[Je pense que cette requête StackOverflow [http://stackoverflow.com/questions/3032945/safari-extension-how-to-respond-to-settings-changes] clarifie les choses, mais elle n'explique toujours pas beaucoup.]
Voici une chose qui a fonctionné.
function numberChanged(event)
{
if(event.key == "tg_sidebar")
alert("Number has changed!");
}
safari.extension.settings.addEventListener("change",numberChanged,false);
[Capture d'écran de la fenêtre Paramètres de l'extension: http://dznr.org/56wi]
Maintenant, chaque fois que je bascule le réglage, je reçois une erreur. Mais le remplacement de cette fonction d'alerte par l'ajout ou la suppression d'une classe CSS ne fonctionne pas.
J'ai également essayé d'utiliser le code par le répondeur ci-dessous, mais cela ne fait rien. Aurait été parfait pour être en mesure de regarder le code d'une extension ...
Une autre chose, dans le cas où ce n'était pas clair, est que le réglage devrait rendre le changement permanent. Autrement dit, lorsque le paramètre est coché, il doit effectuer cette action à chaque chargement de la page.
Merci pour la réponse, mais je suis encore complètement confus. Mise à jour de la question ci-dessus (veuillez jeter un nouveau coup d'œil!) – Goobi
Honnêtement, mon code a été tiré directement de mon extension et ça marche à chaque fois. Vous devrez poster votre code. – switz
J'ai réussi à comprendre l'utilisation de code provenant d'une autre extension. Fonctionne bien. Je ne comprends toujours pas, et c'est ce qui me dérange le plus. : - / – Goobi