chrome扩展程序将所选文本发送到其他网站

时间:2014-06-09 07:41:34

标签: javascript google-chrome google-chrome-extension

我想首先了解什么是内容脚本以及扩展开发中的后台页面是什么。

内容脚本是网站内容中的脚本吗?后台页面是扩展html页面?

我问这个是因为我想以这种方式将所选文本发送到网络服务:

enter image description here

我有两个问题:

1)如何让所选文字显示在菜单中而不是''window.getSelection().toString()什么也没有显示

2)如何将此文本发送到django后端。

这是我的尝试:

function onClickHandler(info, tab) {
   var selectedtext = info['selectionText'];
   //how to send this text to django backend? 
};
chrome.contextMenus.onClicked.addListener(onClickHandler);

chrome.runtime.onInstalled.addListener(function() {
   var contexts = ["selection"];
   for (var i = 0; i < contexts.length; i++){
     var context = contexts[i];    
     var title = "Send the word '" + window.getSelection().toString() + "' to django backend";
     var id = chrome.contextMenus.create({"title": title, "contexts":[context],"id": "context1" + context});   
   } 
});

1 个答案:

答案 0 :(得分:1)

内容脚本只是您在访问的网页上运行的一些JavaScript。 (您可以指定在清单中运行它的站点)

通过背景页面,您可以使分机保持活跃状态​​,并在分机的不同部分之间进行互动。

您需要捕获内容脚本中的选定文本,然后将其从内容脚本发送到后台页面。您正在尝试从后台页面执行window.getSelection().toString(),这是一个在后台运行的进程!当然它没有选定的文字。

我强烈建议您阅读Xan链接的所有内容。我希望我已经有了一些基本的理解来开始......