移植到Firefox的Chrome扩展不工作(indexedDB错误)

移植到Firefox的Chrome扩展不工作(indexedDB错误),firefox,google-chrome-extension,firefox-addon,indexeddb,Firefox,Google Chrome Extension,Firefox Addon,Indexeddb,我正在尝试将扩展移植到FF。 我不太熟悉JavaScript,所以我只是将其转换为FF 不幸的是,它不起作用;我没有收到任何HTML5桌面通知。 我看了一下代码,我认为问题出在twitter.js上,应该在路径“resources\extension data\js”中找到它 首先我改变了 twitter.messagesDB = window.webkitIndexedDB.open("messagesDB"); 到 但它仍然不起作用。 错误控制台也不会显示任何错误 当我将console.

我正在尝试将扩展移植到FF。
我不太熟悉JavaScript,所以我只是将其转换为FF

不幸的是,它不起作用;我没有收到任何HTML5桌面通知。
我看了一下代码,我认为问题出在twitter.js上,应该在路径“resources\extension data\js”中找到它

首先我改变了

twitter.messagesDB = window.webkitIndexedDB.open("messagesDB");

但它仍然不起作用。 错误控制台也不会显示任何错误

当我将console.log命令放入twitter.messagesDB.onsuccess函数时,没有任何内容输出到错误控制台。 创建onerror函数时也没有输出。 所以我想用try-and-catch子句来包围函数,但是没有抛出错误

所以我试着把twitter.messagesDB=twitter.messagesDB.result;退出功能,错误控制台中显示以下错误:

Error: uncaught exception: [Exception... "A mutation operation was attempted on a database that did not allow mutations."  code: "6" nsresult: "0x80660006 (NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR)"  location: "chrome-extension://gjlehiopfilnaggndcmbhphaglkbkekf/js/twitter.js Line: 28"]
这是什么意思? 我怎样才能让它在Firefox中工作

提前谢谢


编辑:我在Windows上使用Firefox 12这是因为IndexedDB的Firefox实现(支持2011年12月发布的最新IndexDB协议)和Chrome实现(支持之前的版本)之间不兼容

突破性的变化是数据库的创建方式,较旧的(Chrome)实现使用
setVersion
事务,而较新的版本(FF)使用
onupgradeneeded
事件和回调


要查看此更改,.

扩展工厂为您的扩展创建了自定义的
chrome扩展协议。我想在那个协议上使用IndexedDB是不可能的。这就是自动转换服务的问题所在——它们试图隐藏平台之间的差异,但太多了。太糟糕了。我认为必须继续使用旧版本的扩展。它不使用IndexedDB,正在工作。至少是通知。谢谢你的信息!我在这一期中担任主角。
Error: uncaught exception: [Exception... "A mutation operation was attempted on a database that did not allow mutations."  code: "6" nsresult: "0x80660006 (NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR)"  location: "chrome-extension://gjlehiopfilnaggndcmbhphaglkbkekf/js/twitter.js Line: 28"]