From 69628160537d5e42cdde39d9114c415e25d0bea0 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Sat, 17 Oct 2015 13:58:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=89=8D=E7=AB=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=9A=84=E8=87=AA=E5=8A=A8=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/src/js/app/oj/problem/problem.js | 33 ++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/static/src/js/app/oj/problem/problem.js b/static/src/js/app/oj/problem/problem.js index cdb1460..ea78e70 100644 --- a/static/src/js/app/oj/problem/problem.js +++ b/static/src/js/app/oj/problem/problem.js @@ -27,14 +27,41 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert", "ZeroClipboard"], return; } + function getLanguage(){ + return $("input[name='language'][checked]").val(); + } + var codeEditor = codeMirror(codeEditorSelector, "text/x-csrc"); - var language = $("input[name='language'][checked]").val(); + var language = getLanguage(); var submissionId; + function setLanguage(language){ + var languageTypes = {"1": "text/x-csrc", "2": "text/x-c++src", "3": "text/x-java"}; + codeEditor.setOption("mode", languageTypes[language]); + } + + function saveCode(code){ + localStorage.setItem(location.href, JSON.stringify({code: code, language: language})) + } + + if(window.localStorage){ + var data = localStorage[location.href]; + if(data){ + data = JSON.parse(data); + $("input[name='language'][value='" + data.language + "']").prop("checked", true); + language = data.language; + codeEditor.setValue(data.code); + setLanguage(data.language); + } + + setInterval(function(){ + saveCode(codeEditor.getValue()) + }, 3000); + } + $("input[name='language']").change(function () { language = this.value; - var languageTypes = {"1": "text/x-csrc", "2": "text/x-c++src", "3": "text/x-java"}; - codeEditor.setOption("mode", languageTypes[language]); + setLanguage(language); }); $("#show-more-btn").click(function () {