用户重新加载页面后如何执行代码? (Chrome扩展程序)

时间:2017-10-15 12:42:27

标签: javascript google-chrome-extension

我想创建一个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文件中吗?最终它会发出声音。

1 个答案:

答案 0 :(得分:1)

就我在文档中看来,transitiontype是Event的一个属性,因此请尝试按如下方式更正代码:

chrome.webNavigation.onCommitted.addListener(function(d) {
    if (d.transitionType == "reload") {
        // code goes here e.g. an alert
        alert("You reloaded");
    }
});

注意:如果您点击历史记录

中的链接,这也会触发代码