我需要使用chrome扩展程序将数据从一个网站表单传输到另一个网站表单。
我有基本文件:
我可以使用content.js
获取数据:
let title = document.getElementById("title").value;
chrome.runtime.sendMessage(
{
title: title,
}
)
如何将其发送到其他标签?
修改
在我的background.js
:
chrome.runtime.onMessageExternal.addListener (
function (request, sender, sendResponse) {
alert(request.title)
});
答案 0 :(得分:1)
每当你需要在两个实体之间转移东西时,你需要一个共同的媒介。无论是声音(空气)还是单词(语言)。
在这种情况下,您需要将数据从一个网站传输到另一个网站。可能的常见媒介是: -
如果是服务器,则需要确保这一点 1.来自user1的消息未到达user2 2.来自site1的消息应该发送到正确的收件人站点
如果是chrome扩展,你只需要确保#2所以绝对采用chrome扩展后台进程是一种更好的方法。
Site_1_Content_Script ---> Background --- > Site_2_Content_Script
chrome.runtime.sendMessage({ message: message., source: source_domain, destination: destination_domain }, function(resp) { });
chrome.runtime.onMessage.addListener(function(request, sender, sendResp) { chrome.tabs.query({ url: request.destination_domain }, function(tabs) { // Send message to each tab matching that domain/url }
答案 1 :(得分:0)
无法将其从一个内容脚本(标签)发送到其他内容脚本。 您需要通过后台页面脚本来完成。
会是这样的:
从CS向BG页面发送消息 - >在BG页面上处理消息 将其发送到另一个标签
您可以在messaging here找到文档。