Google chrome extension 在Chrome扩展开发中如何将值从传递到页面?
我有一个弹出窗口,叫做“welcome.html”,我想做的是当用户选择一个文本,点击我的插件,它会使用一些页面信息,并打印回welcome.html。例如,网站标题、用户选择的文本和url。但是我怎样才能将值传递给welcome.html呢?多谢各位 我在中做了很多工作,因为它可以挖掘大量数据,使用户可以轻松地将其复制到剪贴板 因为您要查找的数据要少得多,所以更简单。加载弹出窗口时,您可以调用以下函数来检索所需信息Google chrome extension 在Chrome扩展开发中如何将值从传递到页面?,google-chrome-extension,Google Chrome Extension,我有一个弹出窗口,叫做“welcome.html”,我想做的是当用户选择一个文本,点击我的插件,它会使用一些页面信息,并打印回welcome.html。例如,网站标题、用户选择的文本和url。但是我怎样才能将值传递给welcome.html呢?多谢各位 我在中做了很多工作,因为它可以挖掘大量数据,使用户可以轻松地将其复制到剪贴板 因为您要查找的数据要少得多,所以更简单。加载弹出窗口时,您可以调用以下函数来检索所需信息 function getData(callback) { chrome
function getData(callback) {
chrome.tabs.getSelected(null, function (tab) {
var data = {
selection: '',
title: tab.title,
url: tab.url
};
/*
* We can't call content scripts on some pages and the process will get
* stuck if we try.
*/
if (tab.url.indexOf('chrome') === 0 ||
tab.url.indexOf('https://chrome.google.com/webstore') === 0) {
callback(data);
} else {
chrome.tabs.sendRequest(tab.id, {}, function (response) {
data.selection = response.selection;
callback(data);
});
}
});
}
确保传入一个回调函数,一旦提取了所有数据,该函数将被调用
getData(function (data) {
console.log('Title: ' + data.title);
console.log('URL: ' + data.url);
console.log('Selected Text: ' + data.selection);
// Display the data instead
});
您可能已经注意到,getData
函数向所选选项卡发送请求。为了使其工作,需要向页面中注入一个,因此请确保您已经正确配置了清单,或者在调用getData
之前配置了清单,否则它将无法工作。需要注入的脚本应类似于以下内容:
(function () {
chrome.extension.onRequest.addListener(function (request, sender,
sendResponse) {
sendResponse({
selection: window.getSelection().toString()
});
});
})();
这只是返回当前选定的文本。一个问题是,在呈现弹出窗口时,此数据查找可能会导致轻微的暂停,但您应该自己测试并使用它进行实验,但确实存在
这应该涵盖所有你需要知道的,所以祝你好运,如果你需要任何进一步的帮助,请告诉我,因为我知道如果你是新的Chrome扩展,这可能会有点难以承受