【问题标题】:Where to put my main code for my chrome extension?将我的 chrome 扩展的主要代码放在哪里?
【发布时间】:2014-03-17 08:29:39
【问题描述】:

我的主要代码应该放在哪里,在 background.html、popup.html、eventPage.js 或其他中?

关于我的扩展的一些信息: 我的扩展程序用于计算我们大学学期成绩的分数百分比。 我们有我们的大学成绩网站,但它不显示获得的总分的百分比。我想为此构建一个扩展。

1)我在 manifest.json 文件中使用了“页面操作”,因为它仅在特定站点上,所以我的扩展程序有效。 2)popup.html有显示百分比的UI。

但是 background.html、eventPage.js 和其他页面呢? 我想我还需要 contentScript.js,因为我正在访问结果页面的 html。

我在哪里放置我的 JavaScript 代码(我编写了 JS 代码以从表中获取值并计算 % )??

任何关于我需要哪些页面以及我应该在其中添加什么代码的简短想法或大纲对我来说非常有用。我对这项工作一头雾水,找不到任何出路。

寻求帮助和指导。 提前致谢!

【问题讨论】:

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


    【解决方案1】:

    您的 chrome 扩展文件夹通常包含以下内容,可能还有更多:

    1) manifest.json(Chrome 初始化扩展程序所需的文件)

    2) popup.html(或任何其他名称。这是您单击扩展程序时将打开的页面。请记住,根据 Chrome CSP,您不得拥有任何 evalinline-event-handler 语句(Content Security Policy)

    3) icon.png(这是您在扩展程序右上角看到的扩展程序图标)

    4) script.js(这是您放置计算逻辑的地方。然后您必须将其包含在您的 popup.html 文件中,如下所示:<script src="script.js"></script>

    5) 其他脚本(如果需要。所有这些都需要包含在popup.html 中,如上所述)

    您应该阅读以下内容:https://developer.chrome.com/extensions/getstarted

    【讨论】:

    • 我已经做到了。正如你所说,我在 popup.html 中包含了 script.js。但我怀疑该脚本仅在 popup.html 上运行。如何在当前页面上运行它,我该怎么做。
    • @nikhil,对不起,我不明白您所说的“当前页面”是什么意思?你能解释一下吗?
    • 是的,当然。当用户在 URL(www.example.com/results)上时,如果他点击我的扩展程序,他应该得到他的百分比。所以,我所说的当前页面是“用户点击时所在的页面扩展”。我的问题是我们是否将“脚本”链接到用户所在的页面?我认为该脚本仅适用于 popup.html。如果我错了,请纠正我。
    • @nikhil,你这么想是对的。但是,您可以通过 chrome.tabs 获取当前页面,如下所示:stackoverflow.com/questions/6871309/… 另外,如果您需要从某个网页获取内容,您可以使用 XMLHttpRequests 并向该网页发送请求。
    【解决方案2】:

    您必须将内容脚本添加到您的 manifest.json

    "content_scripts": [ { "matches": ["http://*/*","https://*/*"],
    "js": ["mycalculator.js"] } ]

    (在这个mycalculator.js 文件中必须包含读取值并计算百分比的Java 脚本。) 还将文件放在您的扩展文件夹中。

    js 文件将自动包含在您加载的页面中。
    更多详情:content scripts

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2011-03-21
      • 1970-01-01
      • 2016-06-24
      • 2014-11-21
      • 1970-01-01
      相关资源
      最近更新 更多