2010-11-07 4 views

Répondre

2

Exemple de code testé dans Firefox 3.6, Chome 6 et Opera 10.6 qui fait exactement ce que vous avez décrit dans votre question.

javascript:(
    function(){ 
     var range = window.getSelection().getRangeAt(0); 
     var a = document.createElement('a'); 
     a.setAttribute('href',document.location); 
     a.appendChild(document.createTextNode(window.getSelection().toString())); 
     range.deleteContents(); 
     range.insertNode(a); 
    } 
)() 

Si vous en avez besoin pour être compatible avec IE lire cet article: http://www.daniweb.com/forums/thread85642.html

1

Ce qui suit est très similaire à @ la réponse de wojtiku mais ajoute le support IE et quelques contrôles supplémentaires et des améliorations:

javascript:(function() { 
    var sel, range, a; 
    if (window.getSelection) { 
     sel = window.getSelection(); 
     if (sel.rangeCount) { 
      range = sel.getRangeAt(0); 
      a = document.createElement("a"); 
      a.href = window.location.href; 
      a.appendChild(document.createTextNode("" + sel)); 
      range.deleteContents(); 
      range.insertNode(a); 
     } 
    } else if (document.selection && document.selection.type == "Text") { 
     range = document.selection.createRange(); 
     a = document.createElement("a"); 
     a.href = window.location.href; 
     a.appendChild(document.createTextNode(range.text)); 
     range.pasteHTML(a.outerHTML); 
    } 
})(); 
+0

Merci. C'est merveilleux ! J'espère que vous comprenez ce que l'on peut faire avec ce bookmarklet. Il suffit de créer un lien sur le texte et de le faire glisser dans la barre d'outils des signets. Vous obtiendrez un signet qui affiche le texte sélectionné. Plus de scrapbooks idiotes dans Firefox ou Opera Notes dans Opera. Rangez simplement toutes vos notes sous forme de signets dans le même arbre. Quoi de plus pratique? Merci encore, les gars. – petxd086

Questions connexes