Twitter Notifier 확장자를 FF로 이식하려고합니다.
JavaScript로 익숙하지 않아서 extension factory을 FF로 변환하기 만했습니다.Firefox로 이식 된 Chrome 확장 기능이 작동하지 않습니다 (indexedDB 오류)
불행히도 작동하지 않습니다. HTML5 바탕 화면 알림을받지 못했습니다.
코드를 조금 봤는데 문제가 'resources \ extension-data \ js'경로에있는 twitter.js와 같다고 생각합니다.
우선은
twitter.messagesDB = window.mozIndexedDB.open("messagesDB");
에
twitter.messagesDB = window.webkitIndexedDB.open("messagesDB");
을 변경했지만 여전히 작동하지 않습니다. 오류 콘솔도 오류를 표시하지 않습니다.
twitter.messagesDB.onsuccess 함수에 console.log 명령을 입력하면 오류 콘솔에 아무 것도 출력되지 않습니다. 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에서 어떻게 작동합니까?
미리 감사드립니다.
편집 : 윈도우
확장 팩토리가 확장을 위해 사용자 정의 '크롬 확장'프로토콜을 만들었습니다. 나는 그 프로토콜에서 IndexedDB를 사용하는 것이 불가능하다고 생각한다. 이것이 자동 변환 서비스의 문제점입니다. 플랫폼 간의 차이점을 숨기려고 시도하지만 너무 많습니다. –
너무 나쁨. 확장 버전의 이전 버전을 유지해야한다고 생각합니다. IndexedDB를 사용하지 않고 작동 중입니다. 적어도 알림. – TheLostOne