【问题标题】:Chrome extension: Replace HTML before loading the pageChrome 扩展:在加载页面之前替换 HTML
【发布时间】:2012-01-21 23:54:42
【问题描述】:

我有一个关于如何使用 Chrome 扩展程序更改网页的问题。

在阅读了一些信息后,我认为问题是如何操作 DOM。 假设我用 Chrome 打开 www.stackoverflow 并想替换以下代码行:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

并将其替换为:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>

我的问题不是这样做是否明智,而是如何做到这一点?

【问题讨论】:

  • 我认为加载后更改它为时已晚。您可以替换该元素,但已经请求了来自 googleapis 的脚本。
  • @MetalFrog Chrome 扩展与网站的 javascript 不同。 “你没有,我很高兴你不能”对于网站 javascript 来说是一种很好的态度,但对于用户必须手动安装的东西来说是有问题的。不喜欢扩展对浏览器的作用?不要安装它。不小心安装了?卸载它。但是,当您将这种态度应用于默认未启用的核心 API 功能(即您必须安装扩展程序)时,您最终会得到功能较弱的工具,这会直接影响您解决问题的能力。需要考虑的事情。
  • @L0j1k 该工具的功能同样强大,因为它默认禁止代码注入。当您需要付出巨大的努力来超越苍白以达到预期的结果时——这绝不会限制广大用户群的用例,请注意——有没问题。
  • 你刚才说的好像是,只要人们不经常使用某个功能,使其无法使用也没有问题,就像Chrome扩展替换的情况一样页面加载前的 HTML。

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


【解决方案1】:

尝试修改你 manifest 的文件 run_at 字符串。

在“document_start”的情况下,文件是在任何来自 css 的文件之后注入的,但在构造任何其他 DOM 或运行任何其他脚本之前。

https://developer.chrome.com/docs/extensions/mv2/content_scripts/

【讨论】:

  • 页面返回404
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 2011-08-04
  • 2012-12-13
  • 2017-01-31
相关资源
最近更新 更多