我想编写一个脚本来注入(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/