我是第一次在Chrome中创建一个扩展(我不是Web或JavaScript开发人员)。我在一个代码库中添加了一个我从未使用过的旧版本的javascript(一旦我在一台使用该代码库的计算机上,我会标记它是哪个版本,但我记不起来)。
我有一个叫做DownloadManager的班级,在里面我打电话给
chrome.downloads.onChanged
在它里面,我调用了类内部的另一个函数,但是它不能识别类(我认为这就是问题所在)。
function DownloadManager(someData) {
this._myData = someData;
this.doAThing = function(someData) {
}
if(chrome.downloads) {
chrome.downloads.onChanged.addListener(function(delta) {
this.doAThing(delta.data);
}
}
}
我犯的错误是
this.doAThing(this._myData);
线。错误是
Error in event handler for downloads.onChanged: TypeError: Cannot read property 'doAThing' of null at <URL>
.
我假设这是一个范围问题,而且
this.
这不代表什么,也不能进入
doAThing
在那里。我确信接受的参数与上面声明的函数类型相同。
当我回到那个环境时,我会添加更多的数据。