在提出这个问题之前,我做了一些搜索,发现这个名字相似的问题,但我不明白它是否符合我的要求:
Chrome Extension: how to capture selected text and send to a web service
特别是Mohamed Mansour's answer看起来很有希望,但经过一个多小时的研究,试验和测试,我仍然无法理解它。所以我希望这个可能重复的问题至少会帮助其他人有同样的困惑。
除了这个问题的标题之外,我还将详细介绍我想要做的事情:
但出于测试目的,我认为我会将基本的后请求发送到hurl.it等网站,以取代第三点
那么如何将我的Chrome扩展程序中的此类请求后发送到特定的外部网站?
我已经知道如何获取所选文字:
{
"manifest_version": 2,
"name": "My Plugin",
"description": "Test extension",
"version": "0.1.20150917",
"permissions": [
"contextMenus"
],
"background": {
"scripts": ["script.js"]
}
}
function handleSelectedText(info,tab) {
var selectedText = info.selectionText;
console.log("Selected text: " + selectedText;
//This where I thought I'd send the data to my domain
//And some pseudo-code to show how I thought it would work:
/*
chrome.extension.postRequest(selectedText, function(response) {
if(response == success)
displayNotification("Yay, it worked!");
else
displayNotification("Error: " + response.errorMessage);
});
*/
}
chrome.contextMenus.create({
title: "Mark error: '%s'",
contexts:["selection"],
id: "cc-mark",
onclick: handleSelectedText,
});
如果我将Mohamed Mansour的代码插入我的代码中,我只会收到一条错误消息,指出response
未定义,所以我假设我这样做非常错误,以至于我不应该包括它。
如果它不是很明显,我应该提一下我是Chrome扩展程序的新用户。