Chrome扩展程序:与页面内容交互(注入内容脚本)

时间:2018-04-16 14:40:33

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

我最近创建了一个Google Chrome扩展程序,用于读取当前网站的DOM并使用JavaScript对该DOM进行更改。

目标

我有一个名为popup.js的文件,以及典型的manifest.jsonpopup.html个文件(以及一些与该问题无关的文件)。

popup.js包含扩展本身的JavaScript代码,以及应该在当前页面/选项卡中运行(注入)的代码。

应该在当前页面上运行的代码需要访问来自popup.js的各种数据。例如,两个复选框。根据检查的是哪一个,注入的脚本应采取不同的行动。

我所知道的

  • Content Scripts可以与网页的DOM互动
  • 通过executeScript,似乎我们可以以字符串格式运行一段代码,或运行单独的文件

我的问题

  1. 有没有办法将popup.js的函数注入当前页面的DOM?像chrome.tabs.executeScript({code: 'myLocalFunction()'})
  2. 之类的东西
  3. 他们是否强迫开发人员将代码作为string /单独的文件输入,只是为了强制执行他们称之为isolated worlds here的概念?
  4. 如果我想构建上述扩展,其中包含注入脚本应该读取的一些变量,我该怎么做?有没有办法将变量传递给注入函数?
    • 我见过this section,但我不确定它是否适用于扩展代码和注入代码之间的通信。

0 个答案:

没有答案