javascript - 制作要注入(inject) gmail 撰写页面的内容脚本?

标签 javascript google-chrome-extension

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

到目前为止,我已经得到了这个网址模式:["*://mail.google.com/*"]。该脚本在加载 gmail 时成功注入(inject),但之后单击“收件箱”或“撰写”等链接时不会重新注入(inject)。我希望 ["*://mail.google.com/*compose"] 能够轻松完成,但事实并非如此。

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

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

最佳答案

内容脚本仅在页面真正加载时运行。
如果您想针对特定哈希运行代码,请在不带哈希的 URL 中注入(inject)脚本,并使用 hashchange 来检测更改。

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

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

关于javascript - 制作要注入(inject) gmail 撰写页面的内容脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13661027/

相关文章:

javascript - getElementById 为 Canvas 元素返回 null

javascript - GSheets GS 日期为 2020 年 3 月 9 日 - 2020 年 4 月 5 日休息一天,所有其他日期均正确

javascript - ManifestV3 新 promise 错误 : The message port closed before a response was received

google-chrome-extension - Chrome商店中的Google Analytics(分析)广告系列跟踪

google-chrome-extension - 为什么我的Chrome扩展程序本身无法自动更新?

javascript - Access-Control-Allow-Origin 不允许来源

javascript - 圆形图像 - 在悬停时应用色调

javascript - 在两个元素上切换 Bootstrap "collapsed"类

javascript - 如何从 iframe 中的内容脚本传回消息?

google-chrome - 驱动chrome来测量页面加载时间