1

我正在编写一个覆盖默认 Chrome 历史记录页面的扩展程序。

自定义历史页面在加载时会进行一些数据库调用。

我发现我在 background.html 覆盖页面中拥有的 history.js 文件在每次页面加载时都会被调用(即,不仅仅是当用户打开历史页面时)

这是有问题的,因为它会导致不必要的数据库调用,有时还会导致调用历史页面但未显示的其他错误。

谁能验证这是 Chrome 的预期行为(出于某种我不明白的原因),我需要找到一种方法来防止 history.js 在未显示历史页面时进行 db 调用?

或者,有谁知道我可能做错了什么会导致 history.js 在每次页面加载时被调用?

4

1 回答 1

0

叹息,这是因为我误解了如何配置我的 manifest.json 文件。

根据覆盖页面的说明,我有:

  "chrome_url_overrides": {"history": "history.html"}

...但我也将 history.js 列为“content_scripts”成员。“content_scripts”中的任何内容都会在页面加载时被调用(当然,如果有问题的页面与您指定的“匹配”正则表达式匹配......我的设置为在任何非 https 页面上触发)

对困惑感到抱歉!

又名

于 2012-11-07T21:41:52.917 回答