2012-12-04 7 views
0

J'essaie de développer une extension google chrome et une partie est chrome.tabs.create({ url: "https://google.com/search?q=" +document.execCommand("paste") }); et le lien apparaît comme "https://google.com/search?q=true "Toute aide est géniale !!! Merci!document.execCommand ('paste') renvoyant "true"

Répondre

0

execCommand('paste') ne fonctionne pas de cette façon. Il ne renvoie pas le contenu du presse-papiers, mais fait exactement ce qui se passerait si quelqu'un appuyait sur Command + V ou Control + V. Il collerait le texte quel que soit le curseur de texte. Ce que vous voulez probablement faire dans votre extension est de créer une zone de texte dans la page HTML d'arrière-plan de votre extension, focus, puis d'exécuter la commande. De là, vous pouvez lire le texte de la zone de texte.

Si vous n'êtes pas familier avec les pages d'arrière-plan, vous pouvez obtenir les détails de Chrome's Documentation.

En utilisant une page d'arrière-plan est nécessaire parce que Chrome applique différentes restrictions de bac à sable à elle. execCommand('paste') ne peut être utilisé dans des endroits plus privilégiés, comme une page d'arrière-plan.

Vous pouvez utiliser sendMessage pour communiquer entre les fichiers JS et votre page HTML en arrière-plan.

+0

J'utilise une page d'arrière-plan. C'est le javascript dedans. Comment pourrais-je utiliser «focus» avec ce que je fais? – user1874462

Questions connexes