私はChromeの拡張機能を使用して、学区の教師と一緒にポップアップウィンドウに重要なお知らせを表示しています。 I'm using a published Google Spreadsheet to create a JSON feedバックグラウンドスクリプトでjQueryによって解析されます。JSONが新しいデータで更新されているかどうかを確認する
スプレッドシートのデータが変更されたときに拡張機能アイコンにバッジを追加したいのですが、JSONが更新されているかどうかを確認する方法はわかりません。 GoogleのJSONは日付ハッシュ(data.feed.updated.$t
)を持っていますが、これは方法ですが、どのフォーマットを使用しているのかわかりません。
windowPopup.js
スクリプトに条件付きif
を書き込んで、データが更新されているかどうかを確認するにはどうすればよいですか?
windowPopup.js
$(document).ready(function() {
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var output = (month<10 ? '0' : '') + month + '/' + (day<10 ? '0' : '') + day + '/' + d.getFullYear();
$('#date').append('<h1>'+output+'</h1>');
var spreadsheetId = "10j8Ycax02XMkVWMK1v-aYJMHoOjQaLRFuZUOKZEY9nA";
var url = "https://spreadsheets.google.com/feeds/list/" + spreadsheetId + "/od6/public/values?alt=json";
$.getJSON(url, function(data) {
var entry = data.feed.entry;
$(entry).each(function() {
$('.data').append('<h2>'+this.gsx$title.$t+'</h2><p>'+this.gsx$text.$t+'</p>');
});
console.log(data.feed.updated.$t);
console.log(d);
// I'm not sure how to check if the data has been updated
// Currently, these will never match, so it's always badged.
if(d != data.feed.updated.$t) {
chrome.browserAction.setBadgeText({
text: "!"
});
}
});
});
これはかなりありますjsonの比較を行う素晴らしいライブラリ:https://github.com/benjamine/jsondiffpatch – Enkode