读取保存
let commentid=4242119;var HtmlUtil = { /*1.用浏览器内部转换器实现html转码*/ htmlEncode: function (html) { //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement("div"); //2.然后将要转换的字符串设置为这个元素的innerText(ie支持)或者textContent(旧版火狐,google支持) (temp.textContent != undefined) ? (temp.textContent = html) : (temp.innerText = html); //3.最后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串了 var output = temp.innerHTML; temp = null; return output; }, /*2.用浏览器内部转换器实现html解码*/ htmlDecode: function (text) { //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement("div"); //2.然后将要转换的字符串设置为这个元素的innerHTML(ie,火狐,google都支持) temp.innerHTML = text; //3.最后返回这个元素的innerText(ie支持)或者textContent(火狐,google支持),即得到经过HTML解码的字符串了。 var output = temp.innerText || temp.textContent; temp = null; return output; }}let sohu_upload=function(data,callback){ data=HtmlUtil.htmlEncode(data) let xhr = new XMLHttpRequest(); if(callback){ xhr.addEventListener("load", function (e) { callback('ok', e); }, false); xhr.addEventListener("error", function (e) { callback('error', e); }, false); xhr.addEventListener("abort", function (e) { callback('abort', e); }, false); } xhr.withCredentials= true; xhr.open("POST", "https://changyan.sohu.com/api/2/comment/attachment"); xhr.setRequestHeader("Content-Type","multipart/form-data; boundary=----WebKitFormBoundaryGee2QOPAgWrB0OAp"); data='------WebKitFormBoundaryGee2QOPAgWrB0OAp\r\nContent-Disposition: form-data; name="file"; filename="1.gif"\r\nContent-Type: image/gif\r\n\r\n'+"GIF89a"+data+"\r\n------WebKitFormBoundaryGee2QOPAgWrB0OAp--" xhr.send(data); }let comment_get= function(callback){ $.ajax({ type: "post", url: "https://www.cnblogs.com/mvc/comment/GetCommentBody.aspx", data: JSON.stringify({ commentId: commentid }), dataType: "text", success: function (data) { console.log(data); //后台json数据对象 if(callback){ callback('ok', data); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { // alert(XMLHttpRequest.status); // alert(XMLHttpRequest.readyState); // alert(textStatus + "ajax出错了"); callback('error', textStatus); } });}let comment_update= function(data,callback){ $.ajax({ type: "post", url: "https://www.cnblogs.com/mvc/PostComment/Update.aspx", data: JSON.stringify({ commentId: commentid, body:data }), dataType: "text", success: function (data) { console.log(data); //后台json数据对象 if(callback){ callback('ok', data); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { // alert(XMLHttpRequest.status); // alert(XMLHttpRequest.readyState); // alert(textStatus + "ajax出错了"); callback('error', textStatus); } });}let sohu_download=function(jsname,callback){ comment_get(function(state,data){ console.log(data) let obj=eval("("+data+")"); if(obj.js!=undefined && obj.js[jsname]!=undefined && obj.js[jsname].sohu!=undefined && obj.js[jsname].sohu.url!=undefined){console.log("OK") $.ajax({ type: "get", url: obj.js[jsname].sohu.url.replace("http://","https://"), dataType: "text", success: function (data) { console.log(data); //后台json数据对象 let tag=data.substring(0,6) if(tag=="GIF89a"){ data=HtmlUtil.htmlDecode(data.substring(6)) console.log(data) if(callback){ callback('ok', data); } } } }); } }) }let getJs=function(jsname,callback){ sohu_download(jsname,function(state,data){ let blob=new Blob([data]); let url=window.URL.createObjectURL(blob); if(callback){ callback(url,data); } });}let uploadJs=function(jsname,data,callback){ sohu_upload(data,function(state,e){ if(state=="ok"){ console.log("ok:") console.log(e) let result=eval("("+e.target.response+")") if(typeof result=="string") result=eval("("+result+")") if(result.url!=undefined){ console.log(result.url) comment_get(function(state,data){ console.log(data) let obj=eval("("+data+")"); console.log(obj); if(obj.js==undefined){ obj.js={} } if(obj.js[jsname]==undefined){ obj.js[jsname]={} } if(obj.js[jsname].sohu==undefined){ obj.js[jsname].sohu={} } obj.js[jsname].sohu.url=result.url; data=JSON.stringify(obj) comment_update(data); }) } }else if(state=="error"){ console.log("error:") console.log(e) }else if(state=="abort"){ console.log("abort:") console.log(e) } }); }$(function(){ $('#get').click(function(){ let name=$('#filename').val() $('#data').val("") getJs(name,function(url,data){ $('#data').val(data) }) }) $('#set').click(function(){ let name=$('#filename').val() let data=$('#data').val() uploadJs(name,data) })})