在Chrome.tabs.executeScript中获取多个值 [英] Get Multiple value in Chrome.tabs.executeScript

查看:166
本文介绍了在Chrome.tabs.executeScript中获取多个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从Chrome插件tabs.executeScript中返回多个元素的值.

How to return multiple element's value from Chrome Plugin, tabs.executeScript.

请在下面的代码中提出建议.

Please suggest in below code.

 chrome.tabs.executeScript(
      targetTab.id,
      {
          code: "var header = {'top':document.getElementsByClassName('top-card')[0].innerHTML;}"
      },
      function (sourceCode)
      {
          myCode = sourceCode;
          chrome.tabs.create({'url': chrome.extension.getURL('popup.html')});
      }
    );

就像这里,我正在获得顶级卡片"类的价值,我也希望更多的类具有页脚",内容"的价值.

Like here I m getting value of class 'top-card' I also want value of, say, 'footer', 'content' much more many class.

推荐答案

chrome.tabs.executeScript可以传输任何可通过JSON处理的数据,包括简单的对象/数组.

chrome.tabs.executeScript can transfer any JSON-ifiable data, including simple objects/arrays.

chrome.tabs.executeScript(targetTab.id, {
    code: '(' + function() {
        return {
            top: document.querySelector('.top-card').innerHTML,
            footer: document.querySelector('.footer').innerHTML,
            content: document.querySelector('.content').innerHTML,
        };
    } + ')()'
}, function(data) {
    var myCode = data[0]; // data is an array, item 0 is the main page, 1.. for frames
    console.log(myCode.top, myCode.footer);
});

这篇关于在Chrome.tabs.executeScript中获取多个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆