New script kylebing.cn

1/8/2024, 12:18:59 PM

  1. // ==UserScript==
  2. // @name New script kylebing.cn
  3. // @namespace Violentmonkey Scripts
  4. // @match https://kylebing.cn/tools/typepad/*
  5. // @grant none
  6. // @version 1.0
  7. // @author -
  8. // @description 1/8/2024, 12:18:59 PM
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. // 定义加载文件的函数
  17. function loadTextFile() {
  18. var fileInput = document.createElement('input');
  19. fileInput.type = 'file';
  20. fileInput.accept = 'text/plain';
  21. fileInput.style.display = 'none';
  22.  
  23. fileInput.onchange = function(e) {
  24. var file = e.target.files[0];
  25. if (file) {
  26. var reader = new FileReader();
  27. var filename = e.target.files[0].name;
  28. console.log(filename);
  29. reader.onload = function(e) {
  30. var editor = document.getElementById('editor');
  31. if (editor) {
  32. editor.value = e.target.result;
  33. }
  34. var titleedit = document.getElementsByClassName("editor-title")[0];
  35. if (titleedit) {
  36. titleedit.value = filename.split(".")[0];
  37. }
  38. };
  39. reader.readAsText(file, 'UTF-8');
  40. }
  41. fileInput.remove();
  42. };
  43.  
  44. document.body.appendChild(fileInput);
  45. fileInput.click();
  46. }
  47.  
  48. // 创建按钮
  49. var btn = document.createElement('div');
  50. btn.className = 'btn';
  51. btn.id = "selectfile";
  52. btn.textContent = '加载文本文件';
  53. btn.addEventListener("click", function(){
  54. loadTextFile();
  55. });
  56.  
  57. var observer = new MutationObserver(function(mutations, me) {
  58. var editor = document.getElementById('editor');
  59. if (editor) {
  60. var parentCont = document.getElementsByClassName("editor-toolbar")[0];
  61. var buttonGroup = document.createElement("div");
  62. buttonGroup.className = "btn-group";
  63. buttonGroup.appendChild(btn);
  64. parentCont.appendChild(buttonGroup);
  65. console.log("injected!!");
  66. me.disconnect(); // 停止观察
  67. return;
  68. }
  69. });
  70. var config = { childList: true, subtree: true };
  71. var target = document.body;
  72. observer.observe(target, config);
  73.  
  74.  
  75. // TODO: 将按钮添加到页面的合适位置
  76. // 例如:
  77. // var container = document.querySelector('.your-container-selector');
  78. // container.appendChild(btn);
  79. })();