我想创建一个Chrome扩展程序,在用户重新加载标签时执行某些代码,例如通过点击重新加载按钮。我试图通过webNavigation
API尝试通过收听transitionType
reload
来执行此操作。但是,我似乎无法让它发挥作用。这是我的代码:
的manifest.json
{
"manifest_version": 2,
"name": "Sample Extension",
"description": "Sample Chrome Extension",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"permissions":[
"webNavigation"
]
}
background.js
chrome.webNavigation.onCommitted.addListener(function(transitionType) {
if (transitionType.status == "reload") {
// code goes here e.g. a console log
console.log("You reloaded");
}
});
我出错的任何想法?另外,我应该将可执行代码(此处显示为警报)放在单独的.js文件中吗?最终它会发出声音。
答案 0 :(得分:1)
就我在文档中看来,transitiontype是Event的一个属性,因此请尝试按如下方式更正代码:
chrome.webNavigation.onCommitted.addListener(function(d) {
if (d.transitionType == "reload") {
// code goes here e.g. an alert
alert("You reloaded");
}
});
注意:如果您点击历史记录
中的链接,这也会触发代码