Google chrome extension 在Chrome扩展开发中如何将值从传递到页面?

Google chrome extension 在Chrome扩展开发中如何将值从传递到页面?,google-chrome-extension,Google Chrome Extension,我有一个弹出窗口,叫做“welcome.html”,我想做的是当用户选择一个文本,点击我的插件,它会使用一些页面信息,并打印回welcome.html。例如,网站标题、用户选择的文本和url。但是我怎样才能将值传递给welcome.html呢?多谢各位 我在中做了很多工作,因为它可以挖掘大量数据,使用户可以轻松地将其复制到剪贴板 因为您要查找的数据要少得多,所以更简单。加载弹出窗口时,您可以调用以下函数来检索所需信息 function getData(callback) { chrome

我有一个弹出窗口,叫做“welcome.html”,我想做的是当用户选择一个文本,点击我的插件,它会使用一些页面信息,并打印回welcome.html。例如,网站标题、用户选择的文本和url。但是我怎样才能将值传递给welcome.html呢?多谢各位

我在中做了很多工作,因为它可以挖掘大量数据,使用户可以轻松地将其复制到剪贴板

因为您要查找的数据要少得多,所以更简单。加载弹出窗口时,您可以调用以下函数来检索所需信息

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扩展,这可能会有点难以承受