<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>NgOne</title> <!-- <base href="/"> --> <!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">--> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text/javascript" src="//staging-teach.cdn.ireadabc.com/h5template/h5-static-lib/js/air.js"></script> <style> .border { border-radius: 20px; border-style: dashed; padding: 20px; margin: 20px; width: 800px; border-radius: 20px; border-width: 2px; border-color: #000000; } .error { border-color: red; } .right { border-color: rgb(50, 255, 50); } .normal { border-color: black; } </style> <script> let saveDataStr = ''; function loadData() { window.courseware.getData((data, aspect) => { const textarea = document.getElementById('saveDataTextarea'); textarea.value = JSON.stringify(data); saveDataStr = textarea.value.trim(); }); } function saveData() { const textarea = document.getElementById('saveDataTextarea'); const textareaStr = textarea.value; if (textareaStr.trim() == saveDataStr.trim()) { textarea.className = "normal"; return; } try { const data = JSON.parse(textareaStr); window.courseware.setData(data); saveDataStr = textarea.value.trim(); textarea.className = "right"; } catch (e) { textarea.className = "error"; console.error(e); } } </script> </head> <body onload="loadData();" style="background-color: white;"> <div class="border"> 保存的数据: <textarea class="normal" style="width: 100%; height: 300px;" id="saveDataTextarea" onBlur="saveData();"></textarea> </div> </body> </html>