对于我的 Chrome 扩展,我正在尝试将选定的文本发布到 PHP 网页。这个网站上一个已解决的问题(Chrome 扩展:如何捕获选定的文本并发送到网络服务)对我实现这一目标有很大帮助,但我想要一种不同的方式来发布文本。
而不是那里提到的 XMLHttpRequest,我想从内容脚本发送一个隐藏的 JS 表单。此方法允许我在将文本导入数据库之前查看或更改文本。
问题是从后台获取触发器到内容脚本。我已经有一条消息,所以需要使用函数(响应)。但是,在“sendMessage”之外,我无法监听 response.cmd。而在“sendMessage”里面,我无法得到response.cmd来触发一个函数。除了从后台脚本发送全新消息之外,是否有解决方案?我指的代码:
背景.js
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
if(request.cmd == "createSelectionMenu") {
sendResponse({cmd: "saveText"}); //Do things
}
});
内容脚本.js
chrome.extension.sendMessage({ cmd: "createSelectionMenu", data: selectedText },
function(response) {
if(response.cmd == "saveText") {
createForm();
}
}
});