在 Firefox 和 Safari 中,我设法注册 DOMContentLoaded 事件window.addEventListener('DOMContentLoaded', PageShowHandler, false);通过将此语句插入到插入的 js 脚本中,或者更清楚地说,在加载页面的 dom 后执行,我的特定函数设法在每次加载该特定页面的 DOM 时运行。
我似乎无法在 Chrome 中执行此操作。我用了一些技巧chrome.tabs.on更新等事件,但它并不适用于所有情况;所有这些事件加起来并不能达到 DOMContentLoaded 所实现的效果。例如,当我单击网页上的特定链接时,这不会像 DOMContentLoaded 事件那样注入我的代码。
window.addEventListener('DOMContentLoaded', PageShowHandler, false);
引入到注入.js似乎没有注册该事件。
这是清单:
{
"name" : "gMail Adder ",
"version" : "1.0",
"description" : "Google Chrome Gmail Adder",
"options_page": "options.html",
"background_page": "background.html",
"run_at": "document_start",
"permissions": [
"tabs",
"history",
"http://*/*",
"https://*/*"
],
"content_scripts": [
{
"matches": ["*://*.google.mail.com/*", "https://*.google.mail.com/*" ,"http://mail.google.com/*" ,"https://mail.google.com/*", "https://www.google.com/*", "http://www.google.com/*", "file:///*"],
"css": ["toggle.css"],
"js": ["jquery-1.4.4.min.js", "inject.js"]
}
],
"browser_action" : {
"default_icon" : "Quest Icon 11.png",
"default_popup": "popup.html"
}
}