0

我想写一个脚本,注入 gmail 的撰写页面。

到目前为止,我已经有了这个 url-pattern: ["*://mail.google.com/*"]。加载 gmail 时脚本成功注入,但之后单击收件箱或撰写等链接时不会重新注入。我希望["*://mail.google.com/*compose"]很容易做到这一点,但没有。

这种模式可能是我所能得到的,然后我必须创建一个侦听器来检查页面的该部分何时重新加载?

确定何时加载撰写页面的最直接方法是什么?

4

1 回答 1

2

内容脚本仅在页面真正加载时运行。
如果要为特定哈希运行代码,请在没有哈希的 URL 处注入脚本,并使用hashchange来检测更改。

function checkHash() {
    if (/^#(compose|drafts)\b/.test(location.hash)) {
        // Do whatever you want
    }
}
window.addEventListener('hashchange', checkHash);
checkHash();

setInterval与其监视位置哈希,不如使用它来持续检查所需元素是否存在于 DOM 中可能更有效。当您想要读取或写入特定 DOM 节点的值时,这特别有用。

于 2012-12-01T16:18:21.633 回答