ฉันเพิ่มสองเซ็นต์ของฉันที่นี่
ส่งออก / นำเข้าไฟล์ (JSON, XML, CSV, TSV, ฯลฯ )
ส่งออก:
ทำให้การตั้งค่าเป็นอนุกรมและดาวน์โหลดเป็นไฟล์
นำเข้า:
เปิดไฟล์การตั้งค่าแบบอนุกรมที่ส่งออก / ดาวน์โหลด
รหัสตัวอย่าง:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Settings Export/Import Demo</title>
</head>
<body>
<div id="display"></div> <br>
<button onclick="exportSettings();">Export</button>
<button onclick="resetSettings();">Reset</button> <br><br>
File to import: <input id="file-input" type="file" accept="application/json"> <br>
<button onclick="importSettings();">Import</button>
<script>
function exportSettings() {
var json = getSettingsAsJSON();
var blob = new Blob([json], { type: "application/json" });
var linkElement = document.createElement("a");
linkElement.href = URL.createObjectURL(blob);
linkElement.download = "ThisIsMySettings";
document.body.appendChild(linkElement);
linkElement.click();
document.body.removeChild(linkElement);
}
function importSettings() {
var fileInput = document.getElementById("file-input");
if (fileInput.files.length > 0) {
var jsonFile = fileInput.files[0];
var fileReader = new FileReader();
fileReader.onload = function (e) {
var json = e.target.result;
try {
var settings = JSON.parse(json);
if (settings.hasOwnProperty("userId")) {
localStorage["myapp_user_id"] = settings.userId;
}
if (settings.hasOwnProperty("hello")) {
localStorage["myapp_hello"] = settings.hello;
}
if (settings.hasOwnProperty("data")) {
localStorage["myapp_data"] = settings.data;
}
displaySettings();
} catch (ex) {
console.error(ex);
alert("Error occured while importing settings!");
}
};
fileReader.readAsText(jsonFile);
}
}
function resetSettings() {
localStorage["myapp_user_id"] = Math.floor(Math.random() * 100000) + 1;
localStorage["myapp_hello"] = "Hello World!";
localStorage["myapp_data"] = JSON.stringify([1, 3, 3, 7]);
displaySettings();
}
function displaySettings() {
var json = getSettingsAsJSON();
document.getElementById("display").innerText = json;
}
function getSettingsAsJSON() {
return JSON.stringify({
userId: localStorage["myapp_user_id"],
hello: localStorage["myapp_hello"],
data: localStorage["myapp_data"]
});
}
resetSettings();
</script>
</body>
</html>
URL (สตริงการสืบค้น)
ส่งออก:
เข้ารหัสการตั้งค่าลงในสตริงแบบสอบถามและรวมกับ URL ปัจจุบันเป็นการเชื่อมโยงหลายมิติ
นำเข้า:
ไปที่ไฮเปอร์ลิงก์ที่มีสตริงข้อความค้นหาพร้อมการตั้งค่าที่เข้ารหัสแล้วตรวจจับ JavaScript และโหลดการตั้งค่าจากสตริงข้อความค้นหา
ข้อมูลที่เข้ารหัส Base64
ส่งออก:
การตั้งค่าที่เป็นอันดับแล้วเข้ารหัสเป็นสตริง Base64 แล้วคัดลอกไปยังคลิปบอร์ด
นำเข้า:
วางสตริง Base64 จากคลิปบอร์ดลงในกล่องข้อความเพื่อถอดรหัส, เลิกทำการปรับขนาดและโหลดการตั้งค่า
คิวอาร์โค้ด
ส่งออก:
เข้ารหัสการตั้งค่าลงในสตริงแบบสอบถามและรวมกับ URL ปัจจุบันเป็นการเชื่อมโยงหลายมิติ จากนั้นสร้างภาพรหัส QR และแสดงผล
นำเข้า:
สแกนภาพรหัส QR ที่สร้างขึ้นแล้วไปที่ไฮเปอร์ลิงก์โดยอัตโนมัติ
เซิร์ฟเวอร์ HTTP (Node.js) / ที่เก็บข้อมูลบนคลาวด์ (AWS S3)
ส่งออก:
HTTP POST ไปยังปลายทางโดยอัตโนมัติเมื่ออัปเดตค่าตามรหัสผู้ใช้
นำเข้า:
HTTP GET จากปลายทางโดยรหัสผู้ใช้
ฐานข้อมูลที่ซิงค์!
PouchDB เป็นฐานข้อมูล JavaScript แบบโอเพ่นซอร์สซึ่งได้รับแรงบันดาลใจจากApache CouchDBที่ออกแบบมาเพื่อให้ทำงานได้ดีภายในเบราว์เซอร์
PouchDB ถูกสร้างขึ้นเพื่อช่วยให้นักพัฒนาเว็บสร้างแอปพลิเคชันที่ทำงานเช่นเดียวกับออฟไลน์เช่นเดียวกับที่พวกเขาทำออนไลน์ ช่วยให้แอปพลิเคชันสามารถจัดเก็บข้อมูลในเครื่องขณะออฟไลน์จากนั้นซิงโครไนซ์กับ CouchDB และเซิร์ฟเวอร์ที่ใช้งานร่วมกันได้เมื่อแอปพลิเคชันกลับมาออนไลน์อีกครั้งทำให้ข้อมูลของผู้ใช้ตรงกัน