在回答您的直接问题时,您可以使用appAPI.message.toBackground将数据从弹出范围发送到后台范围。
但是,我认为在打开弹出窗口时获取活动选项卡的 URL 会更有效,以便在提交表单时它在弹出窗口中可用。您可以通过直接从活动选项卡请求活动选项卡的 URL 并将响应保存在弹出范围内的 var 中来实现此目的,如下所示:
popup.html:
function crossriderMain($) {
// var to store active tab's URL
var activeTabUrl = null;
// Message listener for response from active tab
appAPI.message.addListener(function(msg) {
if (msg.type === 'active-tab-url') activeTabUrl = msg.url;
});
// Request URL from active tab
appAPI.message.toActiveTab({type: 'active-tab-url'});
// THE REST OF YOUR CODE
}
扩展.js:
appAPI.ready(function($) {
// Message listener
appAPI.message.addListener(function(msg) {
if (msg.type === 'active-tab-url')
// Send active tab's URL to popup
appAPI.message.toPopup({
type: 'active-tab-url',
url:encodeURIComponent(location.href)
});
});
// THE REST OF YOUR CODE
});
[免责声明:我是 Crossrider 的员工]