มีวิธีใดในการซิงโครไนซ์ html5 localstorage ระหว่างคอมพิวเตอร์โดยอัตโนมัติหรือไม่

ฉันมีเว็บแอปพลิเคชันไฟล์ html5/javascript แบบออฟไลน์ที่เรียบง่ายซึ่งจัดเก็บไว้ในดรอปบ็อกซ์ของฉัน มันเป็นเครื่องมือติดตามเวลาประเภทหนึ่งที่ฉันเขียน และจะบันทึกข้อมูลแอปพลิเคชันลงในที่จัดเก็บในตัวเครื่อง เนื่องจากเป็นการใช้งานของฉันเอง ฉันชอบความสะดวกสบายของแอปออฟไลน์

แต่ฉันมีคอมพิวเตอร์หลายเครื่อง และฉันก็พยายามหาวิธีแฮ็กเพื่อซิงโครไนซ์ข้อมูลของแอปนี้ (ซึ่งปัจจุบันใช้ที่จัดเก็บในตัวเครื่อง) ระหว่างเครื่องต่างๆ ของฉัน

ดูเหมือนว่า Chrome อนุญาตให้มีการซิงโครไนซ์ข้อมูล แต่สำหรับส่วนขยายของ Chrome เท่านั้น ฉันยังคิดว่าฉันอาจจะให้หน้าเว็บบันทึก/โหลดข้อมูลจากไฟล์ในโฟลเดอร์ดรอปบ็อกซ์โดยอัตโนมัติ แต่ดูเหมือนจะไม่มีวิธีซิงค์กับไฟล์ใดไฟล์หนึ่งโดยอัตโนมัติโดยที่ผู้ใช้ไม่แจ้ง

ฉันคิดว่าวิธีแก้ปัญหาที่ "ชัดเจน" คือการวางเพจบนเซิร์ฟเวอร์และจัดเก็บข้อมูลไว้ในฐานข้อมูล แต่สมมติว่าฉันไม่ต้องการวิธีแก้ปัญหาที่ต้องดูแลแอปบนเซิร์ฟเวอร์ - มีวิธีอื่นที่จะประสานการซิงโครไนซ์เข้าด้วยกันหรือไม่

ฉันยังดูอยู่พักหนึ่งเพื่อดูว่ามีผู้จำหน่ายที่ให้บริการฐานข้อมูลบนเว็บหรือไม่ โดยที่ฉันสามารถทำได้ เช่น โพสต์/รับ json ตามความต้องการ จากนั้นแอปออฟไลน์ของฉันจะซิงค์กับบริการนี้ด้วยวิธีใดวิธีหนึ่ง แต่ก็เหมือนกัน - นโยบายต้นกำเนิดดูเหมือนจะทำให้แผนนั้นโมฆะ (และนอกจากนี้ฉันไม่พบบริการดังกล่าว)

มีวิธีแก้ไขที่ยุ่งยากหรือซ่อนเร้นสำหรับปัญหานี้โดยใช้ Chrome หรือ Google ไดรฟ์หรือดรอปบ็อกซ์หรือเครื่องมืออื่น ๆ ที่ฉันไม่รู้หรือไม่ หรือฉันติดอยู่กับการตั้งค่าเซิร์ฟเวอร์ของตัวเอง?


person user364902    schedule 08.05.2013    source แหล่งที่มา
comment
ฉันไม่ได้ลอง แต่อาจเป็นไปได้ที่จะอ่านไฟล์ข้อมูลจากระบบไฟล์ในเครื่องโดยใช้ ajax หากคุณเปิด Chrome ด้วยแฟล็ก --allow-file-access-from-files นอกจากนี้ นี่จะไม่ใช่ออฟไลน์ 100% แต่ควรลองดู: dropbox.com/developers/chooser   -  person bfavaretto    schedule 08.05.2013


คำตอบ (2)


เห็นได้ชัดว่าฉันมีปัญหาเดียวกันทุกประการและได้ตรวจสอบอย่างละเอียดแล้ว ตัวเลือกที่ดีที่สุดคือ remoteStorage หากคุณสามารถจัดการให้มันใช้งานได้ อนุญาตให้ใช้เซิร์ฟเวอร์บุคคลที่สามเพื่อจัดเก็บข้อมูลหรือเรียกใช้อินสแตนซ์ของคุณเอง

person Klaster_1    schedule 08.05.2013

ฉันได้ทำงานในโครงการที่ให้ localStorage แบบเวอร์ชันแก่คุณพร้อมการสนับสนุนการแก้ไขข้อขัดแย้ง หากทรัพยากรเดียวกันจบลงด้วยการแก้ไขโดยไคลเอนต์ที่แตกต่างกันสองคน ณ จุดนี้ ไม่มีไดรเวอร์สำหรับเซิร์ฟเวอร์หรือไคลเอนต์ (ขณะนี้เป็นอะซิงก์ในหน่วยความจำเพื่อการทดสอบ) แต่มีโค้ดและนามธรรมมากมายที่จะทำให้การเขียนไดรเวอร์ของคุณเองจริงๆ เป็นเรื่องง่าย .. ฉันเคยคิดที่จะทำไดรเวอร์ dropbox/google docs ด้วยตัวเอง ยกเว้นว่าฉันอยากให้ DynamoDB/MongoDB และ Lawnchair ทำก่อน

โค้ดไม่ได้ขึ้นอยู่กับ jQuery หรือไลบรารีอื่นๆ และยังมีฟีเจอร์สาธิตที่ค่อนข้างสมบูรณ์ (แม้ว่าจะน่าเกลียด) ก็ตาม

อย่างไรก็ตาม URL คือ https://github.com/forbesmyester/SyncIt

person Forbesmyester    schedule 02.06.2013