0

TwitterNotifier拡張機能をFFに移植しようとしています。
私はJavaScriptにあまり詳しくないので、拡張ファクトリを使用してFFに変換しました。

残念ながら、機能していません。HTML5デスクトップ通知が届きません。
コードを少し見てみましたが、問題は、パス「resources \ extension-data\js」にあるtwitter.jsにあると思います。

http://pastebin.com/C0NqU4Ur

最初に私は変更しました

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

twitter.messagesDB = window.mozIndexedDB.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でFirefox12を使用しています

4

1 に答える 1

1

これは、2011 年 12 月に公開された最新の IndedexDB プロトコルをサポートする IndexedDB の Firefox 実装と、それ以前のバージョンをサポートする Chrome 実装との間の非互換性によるものです。

重大な変更は、データベースの作成方法です。古い (Chrome) 実装ではsetVersionトランザクションが使用されますが、新しいバージョン (FF) ではonupgradeneededイベントとコールバックが使用されます。

この変更を確認するには、この問題にスターを付けてください

于 2012-06-03T00:05:12.387 に答える