【发布时间】:2013-12-23 09:24:53
【问题描述】:
我正在使用 crossrider 开发浏览器扩展。 我添加了一个上下文菜单(background.js)
var ContextData;
appAPI.contextMenu.add("key1", "Send Data To Server", function (data) {
var ContextData = 'pageUrl: ' + data.pageUrl + '\r\n' +
'linkUrl: ' + data.linkUrl + '\r\n' +
'selectedText:' + data.selectedText + '\r\n' +
'srcUrl:' + data.srcUrl;
}, ["all"]);
在用户单击时,我想将 ContextData 发送到 extension.js. 在 extension.js 中,某些函数将接收数据并将其发送到我的服务器(一个将接受数据的 Rest API)。
为了向服务器发送数据,我已经对此进行了测试,它工作正常(extension.js 中的代码示例)
appAPI.ready(function($) {
var dataToSend =="test data";
appAPI.request.post({
url: 'REST API URL',
postData: dataToSend,
onSuccess: function(response, additionalInfo) {
var details = {};
details.response = response;
},
onFailure: function(httpCode) {
// alert('POST:: Request failed. HTTP Code: ' + httpCode);
}
});
});
如何编写一个函数来接受来自background.js 的ContextData 并将其分配给extension.js 中的dataToSend?
【问题讨论】:
-
是的,我已经阅读了这个链接,但是没有任何方法可以在 backgrond.js 和 extension.js 之间进行通信。通过大多数方法,我们可以将消息发送到当前选项卡或所有选项卡等。但这不是我的要求。
标签: javascript browser-extension crossrider