我試圖將Twitter Notifier擴展移植到FF。
我對JavaScript不太熟悉,所以我只是用extension factory將它轉換爲FF。移植到Firefox的Chrome擴展無法正常工作(indexedDB錯誤)
不幸的是,它不工作;我沒有收到任何HTML5桌面通知。
我已經看了一下代碼,我認爲問題是應該在路徑'resources \ extension-data \ js'中找到twitter.js。
首先,我已經改變了
twitter.messagesDB = window.webkitIndexedDB.open("messagesDB");
到
twitter.messagesDB = window.mozIndexedDB.open("messagesDB");
,但它仍然是行不通的。 錯誤控制檯也不顯示任何錯誤。
當我把一個console.log命令放到twitter.messagesDB.onsuccess函數中時,沒有任何東西被輸出到錯誤控制檯。 當我創建一個onerror函數時也沒有輸出。 所以我儘管用try和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
擴展工廠爲您的擴展創建了一個自定義的'chrome-extension'協議。我想在該協議上使用IndexedDB是不可能的。這是自動轉換服務的問題 - 他們試圖隱藏平臺之間的差異,但只有太多。 –
太糟糕了。我認爲必須保留舊版本的擴展。它不使用IndexedDB並正在工作。至少通知。 – TheLostOne