制作一个要在gmail中注入的内容脚本撰写页面?

时间:2012-12-01 15:52:27

标签: javascript google-chrome-extension

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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