J'essaye de construire une extension de safari (principalement à des fins d'apprentissage) qui crée un signet délicieux, lorsque l'utilisateur clique droit sur un lien. J'ai regardé la vidéo WWDC Création d'une extension Safari et tout fonctionne correctement. Sauf que je n'ai aucune idée de la façon de savoir si l'utilisateur a cliqué sur un lien (ou seulement du texte) et si c'est le cas, obtenez son URL et son titre. Ce que j'ai obtenu jusqu'ici est le suivant:Identifier le lien sur l'événement contextmenu dans l'extension safari
document.addEventListener("contextmenu", handleContextMenu, false);
function handleContextMenu(event){
safari.self.tab.setContextMenuEventUserInfo(event,getSelection().toString());
}
Mais cela ne me donne évidemment qu'une chaîne de la sélection. Maintenant, selon la bibliothèque de référence Safari getSelection()
renvoie un DOMSelection
object. Mais même là, je ne suis pas en mesure de repérer une méthode qui me donne un contrôle sur le lien sélectionné.
Comme vous pouvez le remarquer, je suis assez nouveau dans toute cette substance javascript et DOM, donc s'il vous plaît excuse si cela est une question évidente :)
Ciao, Sven
Un peu de suivi: Comme je ne suis pas en mesure d'extraire plus d'information contextuelle que la sélection j'ai essayé d'utiliser jQuery pour trouver un lien correspondant au texte sélectionné, comme ceci: '$ (" a: contains ('"+ getSelection() +"') ");' Mais c'est très flou, comme lorsqu'on clique sur le mot 'a' il y a un probab Un texte de lien peut contenir ce mot. – sschober