使用方法

https://src.sjtu.edu.cn/add/ 页面粘贴图片即可,让写报告更简单,注意的原来的图片上传功能会不可使用

不会js代码写的烂,各位师傅勿喷

效果演示

hpkzl-k9vfu.gif

安装链接

https://greasyfork.org/zh-CN/scripts/439965-edusrc%E7%B2%98%E8%B4%B4%E4%B8%8A%E4%BC%A0

注意事项

如果出现两个编辑框
66225-rmilajsds3o.png

配置运行时期为document-end即可,或者切换成start多切换几个试试看,无两个编辑框即可

63705-ssgs3zru1hd.png

代码

// ==UserScript== // @name edusrc粘贴上传 // @namespace http://blog.mo60.cn/ // @version 0.1 // @description edusrc粘贴上传 // @author http://blog.mo60.cn/ // @match https://src.sjtu.edu.cn/add/ // @icon https://www.google.com/s2/favicons?domain=sjtu.edu.cn // @run-at document-end // @grant none // ==/UserScript== window.onload = function () { console.log('author blog http://blog.mo60.cn/'); } $(document).ready(function () { var uploadUrl = 'https://src.sjtu.edu.cn/upload-images/'; var textarea = document.getElementById("id_content"); var editor = CodeMirror.fromTextArea(textarea, { lineNumbers: true, mode: { name: 'markdown', underscoresBreakWords: false }, theme: "neat", indentUnit: 4, lineWrapping: true }); function getCookie(cookieName) { var strCookie = document.cookie; var arrCookie = strCookie.split("; "); for(var i = 0; i < arrCookie.length; i++){ var arr = arrCookie[i].split("="); if(cookieName == arr[0]){ return arr[1]; } } return ""; } function uploadFile(file) { var index = Math.random().toString(10).substr(2, 5) + '-' + Math.random().toString(36).substr(2); var fileName = index + '.png'; var formData = new FormData(); formData.append('name', fileName); formData.append('file', file, fileName); $.ajax({ method: 'post', url: uploadUrl, data: formData, contentType: false, processData: false, beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("x-csrftoken", getCookie('csrftoken')); }, success: function (data) { if(data['status'] == 'success') { //alert('上传成功!'); var file_name=data['name']; var file_path=data['url']; var img = "\n![" + file_name + "](" + file_path + ")\n"; editor.replaceSelection(img) } }, error: function (error) { alert('上传失败'); } }); } document.addEventListener('paste', function (e) { var clipboardData = e.clipboardData; var items = clipboardData.items; for (var i = 0; i < items.length; i++) { if (items[i].kind === 'file') { e.preventDefault(); uploadFile(items[i].getAsFile()); break; } } }); })
Last modification:February 16, 2022
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/117.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 法律说明:
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全,本文内容未隐讳任何个人、群体、公司。非文学作品,请勿过度理解,根据《计算机软件保护条例》第十七条,本站所有软件请仅用于学习研究用途。
如果觉得我的文章对你有用,请随意赞赏,可备注留下ID方便感谢