You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Chrome扩展新标签覆盖页配置manifest以添加DOM操作JS

配置Chrome扩展Manifest.json让自定义新标签页的时钟JS正常运行

嗨,刚好做过类似的需求,我来给你一步步说清楚需要在manifest.json里配置的内容,保证你的时钟功能能正常跑起来~

核心配置要点

因为你用的是override新标签页的方式,核心是要让Chrome允许你的扩展加载自定义HTML,同时允许HTML引用的JS文件执行,具体配置如下:

  1. 指定Manifest版本(必选)
    现在Chrome扩展推荐用manifest_version: 3(v2已经逐步被淘汰了),所以首先要在manifest里声明:

    "manifest_version": 3
    
  2. 配置新标签页Override字段
    这是实现自定义新标签页的核心,告诉Chrome用你的HTML替换默认新标签页:

    "chrome_url_overrides": {
      "newtab": "newtab.html"
    }
    

    这里的newtab.html就是你写的包含时钟容器的HTML文件路径,要和你的扩展文件结构对应。

  3. 设置内容安全策略(CSP)
    Chrome扩展默认会限制脚本执行,为了让你的外部时钟JS文件能正常运行,需要在manifest里配置CSP,允许加载扩展内的本地脚本:

    "content_security_policy": {
      "extension_pages": "script-src 'self'; object-src 'none';"
    }
    
    • script-src 'self':允许加载扩展自身目录下的JS文件,刚好符合你的需求
    • object-src 'none':禁止加载插件类资源,是安全的默认配置

完整的Manifest.json示例

把上面的配置整合起来,一个完整的manifest大概是这样的:

{
  "manifest_version": 3,
  "name": "自定义新标签页时钟",
  "version": "1.0",
  "description": "带时钟功能的自定义Chrome新标签页",
  "chrome_url_overrides": {
    "newtab": "newtab.html"
  },
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'none';"
  }
}

额外注意事项

  • 不要在HTML里写内联脚本(比如<script>/* 时钟代码 */</script>),因为CSP默认禁止内联脚本,除非你额外配置unsafe-inline,但这会降低安全性,推荐把时钟代码单独放在clock.js里,然后在newtab.html里用<script src="clock.js"></script>引入。
  • 确保你的newtab.html、clock.js和manifest.json在扩展的根目录下(或者路径对应正确),不然Chrome找不到文件会报错。

这样配置之后,你的时钟JS就能在自定义新标签页里正常运行啦~

内容的提问来源于stack exchange,提问作者Tech Hax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:31:16