Bonjour ! (J'espère être au bon endroit)
Je voudrais récupérer du code sur la page courante de mon navigateur et l'afficher dans un popup ouvert par une extension chrome.
J'avais commencer à rédiger du code (grâce à des forums et des tutos) mais j'ai appris plus tard que certaines fonctions n'étaient plus utilisées (chrome.tabs.getSelected() notamment).
Aperçu de ce que je voudrais après sélection :
Voilà mon code :
manifest.json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 { "name": "Selected Text", "version": "0.1", "description": "Selected Text", "browser_action": { "default_title": "Selected Text", "default_icon": "icon.png", "default_popup": "popup.html" }, "permissions": [ "tabs", "chrome://favicon/", "http://*/*", "https://*/*" ], "content_scripts": [ { "matches": ["http://*/*"], "js": ["selection.js"], "run_at": "document_start", "all_frames": true } ], "manifest_version": 2 }
popup.html
selection.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <!DOCTYPE html> <html> <head> <style> body { width: 300px; } textarea { width: 250px; height: 100px;} </style> <script> function pasteSelection() { chrome.tabs.getSelected(null, function(tab) { chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function (response) { var text = document.getElementById('text'); text.innerHTML = response.data; }); }); } </script> </head> <body> <textarea id="text"></textarea> <button onclick="pasteSelection(); ">Obtenir le texte sélectionné</button> </body> </html>
Pourriez-vous apportez des corrections à mon code afin qu'il fonctionne !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { if (request.method == "getSelection") sendResponse({data: window.getSelection().toString()}); else sendResponse({}); // snub them. });
Trois jour que j'ère sur le net à la recherche d'une solution
Merci d'avance de vos réponses
Partager