将脚本注入新打开的标签页-Chrome扩展程序

时间:2018-07-05 22:35:32

标签: javascript google-chrome google-chrome-extension tabs

我编写了一个扩展程序,以在单击按钮时运行此代码段,我需要做的就是在run()打开新标签页后注入另一个已删除的代码。

我该怎么做?

content_script.js:15 Uncaught TypeError: Cannot read property 'onDOMContentLoaded' of undefined
    at injectTheScript (content_script.js:15)
    at run (content_script.js:9)
    at content_script.js:12

请帮助。

let n = 0;

function run() {
  var links = document.getElementsByClassName('cur_pointer open_in1 new_act_btn col_in center big_link');
  links[n].click();
}

run();

function injectTheScript() {
  chrome.webNavigation.onDOMContentLoaded.addListener(function(details) {
    const tabId = details.tabId;
    chrome.tabs.executeScript(tabId, {
      code: 'document.getElementsByClassName(\'glyphsSpriteHeart__outline__24__grey_9 Szr5J\')[0].click();'
    });
  });
}

injectTheScript();

1 个答案:

答案 0 :(得分:0)

您只能从后台脚本访问chrome.webNavigation,而不能从内容脚本访问(您可以从content_script.js使用它)。