在 Google Chrome 中注册 DOMContentLoaded

2023-11-25

在 Firefox 和 Safari 中,我设法注册 DOMContentLoaded 事件window.addEventListener('DOMContentLoaded', PageShowHandler, false);通过将此语句插入到插入的 js 脚本中,或者更清楚地说,在加载页面的 dom 后执行,我的特定函数设法在每次加载该特定页面的 DOM 时运行。

我似乎无法在 Chrome 中执行此操作。我用了一些技巧chrome.tabs.on更新等事件,但它并不适用于所有情况;所有这些事件加起来并不能达到 DOMContentLoaded 所实现的效果。例如,当我单击网页上的特定链接时,这不会像 DOMContentLoaded 事件那样注入我的代码。

window.addEventListener('DOMContentLoaded', PageShowHandler, false);

引入到注入.js似乎没有注册该事件。

这是清单:

{
"name" : "gMail Adder ",
"version" : "1.0",
"description" : "Google Chrome Gmail Adder",
"options_page": "options.html",
"background_page": "background.html",
"run_at": "document_start",
"permissions": [
   "tabs",
   "history",
   "http://*/*",
   "https://*/*"
],
"content_scripts": [
  {
   "matches": ["*://*.google.mail.com/*", "https://*.google.mail.com/*"     ,"http://mail.google.com/*" ,"https://mail.google.com/*", "https://www.google.com/*", "http://www.google.com/*", "file:///*"],
   "css": ["toggle.css"],
   "js": ["jquery-1.4.4.min.js", "inject.js"]
  }
],
"browser_action" : {
"default_icon" : "Quest Icon 11.png",
"default_popup": "popup.html"
}
}

如果你添加"run_at":"document_start"标记到清单中的内容脚本,它们将在构造 DOM 之前注入,因此DOMContentLoaded应每次触发:

"content_scripts": [
  {
   "matches": ["*://*.google.mail.com/*", "https://*.google.mail.com/*"     ,"http://mail.google.com/*" ,"https://mail.google.com/*", "https://www.google.com/*", "http://www.google.com/*", "file:///*"],
   "css": ["toggle.css"],
   "js": ["jquery-1.4.4.min.js", "inject.js"],
   "run_at": "document_start"
  }
],

(更多关于执行顺序here)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google Chrome 中注册 DOMContentLoaded 的相关文章

  • 在 Angular 5 中继续循环之前等待 for 循环中的 observable 完成

    我正在循环访问对象数组 称为项目 forEach 循环包含一个返回可观察值的服务调用 我试图等待处理数组中的下一个项目 直到循环内的可观察对象完成 我应该用什么 我已经尝试过 forkJoin 了 projects forEach proj
  • 如何在 15 秒内每 3 秒调用一次函数?

    如何每 3 秒调用一次 jQuery 函数 document ready function do stuff post each function do stuff do stuff 我正在尝试运行该代码 15 秒 到目前为止 没有一个答案
  • 将某些 observableArray 对象属性转换为 observable

    假设我有这个相同类型对象的数组 var people status 0 name name1 status 1 name name2 我不仅希望它是 observableArray 而且我只想观察每个对象的状态属性 想象一下对象本身可能会被
  • 可以将这个forwardRef移动到一个函数中以实现可重用吗?

    我正在将我的应用程序移动到 Material UI V4 并且当以编程方式设置 to 属性时 我正在努力将我的 React Router Link 组件移动到forwardRef 包装的组件中 下面的代码可以工作 但需要重复调 用forwa
  • PHP 游戏中的循环迭代

    尝试让它循环 3 次 并在第 3 次之后 如果没有猜对 显示正确答案 目前 它正在经历猜测 但没有显示还剩下多少猜测 应该扣除每个 每次尝试 任何人 如果你能告诉我我哪里出错了
  • 获取 value 属性无法获取输入的当前值

    我想编写一个程序 这样我可以输入 0 到 255 之间的 IP 地址数字 我的代码可以在 IE 中运行 但不能在 Firefox 或 Chrome 中运行 function check obj var txt obj getAttribut
  • 单击时删除输入文本的默认值

    我有一个输入文本
  • javascript排序将中间项放在顶部

    我有以下排序功能 var timeArray new Array 11 41 11 39 11 41 11 41 11 40 11 70 11 39 11 38 11 38 11 37 11 37 timeArray sort functi
  • 正则表达式 - 使用正则表达式提取电子邮件文档的子字符串

    我正在尝试使用正则表达式提取电子邮件文档的子字符串 我正在在线测试正则表达式 它运行得很好 在线正则表达式测试器 https regex101 com r BbWBPk 1 我有一个功能可以检查 Google Apps 脚本上的正则表达式
  • 按箭头键时光标会跳跃

    我有一个文本框 无法在其中输入禁用字符 然而 当文本框填充了数据时 我将焦点放在文本框的中间 然后使用箭头键左右移动 然后它跳到文本框的末尾 这是有效的 如果我也在文本框中间输入一个字符 它会再次转到末尾 id txtClient keyu
  • Javascript get Between 函数多个实例

    function getBetween content start end var r content split start if 1 in r var z r 1 split end return z 0 return 您好 我编写的函
  • 格式良好的源代码

    源代码已使用换行符和空格进行格式化 Goals keep source formatting as long as lines fit in the screen horizontally e g pre 在左侧显示与行对齐的行号 例如 行
  • 为什么 React 会删除我的类名?

    我正在学习 Reactjs 并且正在使用一些组件渲染一个简单的页面 该组件之一是 class Header extends React Component render return
  • 从express.js 中删除所有标头

    我正在创建一个页面 其中有一些数据可以由另一个设备解析 我曾经使用 php 执行此操作 但现在将其移至 Node js 我需要从页面中删除所有标题 这样我就只有我的输出 此输出是对 GET 请求的响应 此刻我有 HTTP 1 1 200 O
  • EmberJS 支持单字母单词模型吗?

    我无法真正确定问题是 Ember 还是 Ember 数据 或者甚至是一个问题 但发生的情况如下 假设你的模型被称为tell me a story 如果您使用 ActiveModelAdapter 这将是您的 JSON 应该提供的名称 无论如
  • jQuery ajax表单多次提交

    我在使用 jQuery ajax 表单提交多个表单时遇到一些问题 我通过在服务器上打印表单提交的每个实例发现了这一点 并发现表单会正确提交一次 然后再次提交多次 需要明确的是 这段代码在第一次提交时可以 100 正确运行 但是当我单击表中的
  • 以编程方式更改动画规则中的 webkit-transformation 值

    我有这个样式表 webkit keyframes run 0 webkit transform translate3d 0px 0px 0px 100 webkit transform translate3d 0px 1620px 0px
  • 可观察的重试 / retryWhen 与平面地图

    我有以下代码来获取 id 以及与 id 相关的数据 process Observable
  • API 的集成与单元测试

    我们可以考虑向端点 单元或集成测试 发送请求吗 import lib from testing lib const testClient expect lib const response testClient request app ge
  • 要求节点模块 var 或 const 的最佳方法是什么?

    当我们需要诸如express或bodyParser之类的节点模块时 我们将使用var关键字创建变量并分配模块 我们不能用const声明这样的模块 也就是说 代替这个 var express require express var app e

随机推荐