如何从开发工具扩展中提取加载的javascript文件

如何从开发工具扩展中提取加载的javascript文件,javascript,google-chrome-extension,google-chrome-devtools,Javascript,Google Chrome Extension,Google Chrome Devtools,我正在开发一个chrome扩展,它希望从当前页面加载javascript文件,修改它们(美化),然后更新Dev Tools Sources面板 作为一个后备选项,我不覆盖通常的“源”面板,而是将它们放在自定义面板中。(使用此选项,我只需要加载的网络资源列表-网络面板中的结果) 理想情况下,我希望覆盖源代码的页面,希望使用dev工具可用的调试工具。我不知道是否可以动态替换脚本。 但是,您可以将devtools面板中的一些代码注入当前检查的网页,如下所示: chrome.devtools.panel

我正在开发一个chrome扩展,它希望从当前页面加载javascript文件,修改它们(美化),然后更新Dev Tools Sources面板

作为一个后备选项,我不覆盖通常的“源”面板,而是将它们放在自定义面板中。(使用此选项,我只需要加载的网络资源列表-网络面板中的结果)


理想情况下,我希望覆盖源代码的页面,希望使用dev工具可用的调试工具。

我不知道是否可以动态替换脚本。 但是,您可以将devtools面板中的一些代码注入当前检查的网页,如下所示:

chrome.devtools.panels.create(
  'your-extension-name',
  'icon.png',
  'panel.html',
  function (pPanel) {
    pPanel.onShown.addListener(function () {
      var scriptToInject = function () {
        document.addEventListener('DOMContentLoaded', function () {
          var script = document.getElementsByTagName('script')[0];
          var parent = script.parentElement;
          parent.removeChild(script);

          var newScript = document.createElement('script');
          newScript.textContent = 'xxx'; // Doesn't work?
          parent.appendChild(newScript);
        }, false);
      };
      // Reloads the page.
      chrome.devtools.inspectedWindow.reload({
        injectedScript: '(' + scriptToInject.toString() + '())'
      });
    });
  });