仅在创建并加载新选项卡时运行 chrome.tabs.executeScript

问题描述

我正在尝试创建一个 chrome 扩展程序来自动登录过程。

我可以使用 Process_login2 登录网站(填写用户名密码,然后单击登录按钮)。

但是,当我使用 Process_login(带有插件功能打开选项卡并导航到网页)时,登录功能失败。

您知道如何仅在创建并加载新选项卡时运行脚本吗?

window.addEventListener('DOMContentLoaded',function () {
  var Process_login = document.querySelector('#menu_btn_login');
  var Process_login2 = document.querySelector('#menu_btn_login2');
  var Process_SendingMsg = document.querySelector('#menu_btn_sendingMsg');

  Process_login.addEventListener('click',function () {
    chrome.tabs.query({ active: true,currentwindow: true },function (tabs) {
      var url_login = 'https://example.com/#login';
      chrome.permissions.request({ origins: [url_login] },granted => {
        if (granted) {
          chrome.tabs.create({ url: url_login },tab => {
            chrome.tabs.executeScript(tab.id,{ file: 'scripts/login.js' });
          });
        } else {
          alert('You need to grant permission');
        }
      });
    });
  });

  Process_login2.addEventListener('click',function (tabs) {
      chrome.tabs.executeScript(tabs[0].id,{ file: 'scripts/login.js' });
    });
  });
permissions": 
        [
        "tabs","tabCapture","activeTab","declarativeContent","storage"]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)