Tout ce que vous devez faire est d'écouter des événements de souris:
- mousedown: pour cacher la bulle.
- mouseup: pour montrer la bulle.
Par exemple, cela peut vous aider à démarrer. Plus de réglages sont nécessaires, pour savoir si vous avez initié la sélection de bas en haut, droite, gauche, etc (toutes les directions). Vous pouvez utiliser le code suivant comme une start-up:
contentscript.js
// Add bubble to the top of the page.
var bubbleDOM = document.createElement('div');
bubbleDOM.setAttribute('class', 'selection_bubble');
document.body.appendChild(bubbleDOM);
// Lets listen to mouseup DOM events.
document.addEventListener('mouseup', function (e) {
var selection = window.getSelection().toString();
if (selection.length > 0) {
renderBubble(e.clientX, e.clientY, selection);
}
}, false);
// Close the bubble when we click on the screen.
document.addEventListener('mousedown', function (e) {
bubbleDOM.style.visibility = 'hidden';
}, false);
// Move that bubble to the appropriate location.
function renderBubble(mouseX, mouseY, selection) {
bubbleDOM.innerHTML = selection;
bubbleDOM.style.top = mouseY + 'px';
bubbleDOM.style.left = mouseX + 'px';
bubbleDOM.style.visibility = 'visible';
}
contentscript.css
.selection_bubble {
visibility: hidden;
position: absolute;
top: 0;
left: 0;
background:-webkit-gradient(linear, left top, left bottom, from(#2e88c4), to(#075698));
}
manifest.json
Modifier les matchs partie au domaine que vous voulez injecter ct ces scripts de contenu.
...
...
"content_scripts": [
{
"matches": ["http://*/*"],
"css": ["main.css"],
"js": ["main.js"],
"run_at": "document_end",
"all_frames": true
}
...
...
Si vous voulez le style qu'il ressemble à une bulle, Nicolas Gallagher a fait une CSS3 impressionnante demos de bulles!
Vos réponses Extension Chrome sont fantastiques, et trop peu upvoted. Une fois que je peux assigner la prime (après 24 heures), vous aurez tout. Merci beaucoup! –
@BartKiers Ah merci, c'est bon, je fais ça parce que j'aime aider les gens là où je peux! J'ai appris en utilisant StackOverflow et en lisant beaucoup de documentations :) –