以下のコードは、私が現在開発しようとしている crossrider 拡張機能に属しており、ブラウザー間でブックマークを同期できることを願っています。このファイルは現在 background.js ファイルであり、最初にローカル データベースからブックマーク ファイルのスナップショットを取得し、それを現在のブックマーク リストと比較します。相違点 (ブックマーク リストへの追加または削除) がある場合は、 getChanges() 関数で返されてからサーバーに送信され、最後にスクリプトがスナップショットを更新し、プロセスを再開する前に 30 秒待機します。getChanges() 関数の作成方法がよくわかりません。おそらく、加算と減算の両方 (タイトルと URL の両方) を示す json オブジェクトを返す必要があります。誰かが関数のコードを書くことができれば、それは素晴らしいことです. ありがとう
appAPI.ready(function() {
// Poll every 30 seconds
setInterval(function() {
appAPI.db.async.get('prevBookmarks', function(value) {
// Load or initialize previous bookmarks list
var prevBookmarks = (value) ? value : {};
// Get current bookmarks
appAPI.bookmarks.getTree(function(nodes) {
// Save bookmark list for next comparison
appAPI.db.async.set('prevBookmarks', nodes);
// In your getChanges functions, traverse the bookmark trees collating
// changes and then post then to your API server using appAPI.request
var changes = getChanges(prevBookmarks, nodes);
appAPI.request.post({
url: http://yourAPIserver.com,
postData: changes,
contentType: 'application/json'
});
});
});
}, 30 * 1000);
});