Tieba Template

贴吧模板

  1. // ==UserScript==
  2. // @name Tieba Template
  3. // @version 1.0.0
  4. // @description 贴吧模板
  5. // @match http://tieba.baidu.com/*
  6. // @include http://tieba.baidu.com/*
  7. // @author 864907600cc
  8. // @run-at document-end
  9. // @grant GM_addStyle
  10. // @namespace https://gf.qytechs.cn/users/141
  11. // ==/UserScript==
  12.  
  13. var stylesheet='.ttemplate_listener{width: 56px;height :14px;font-size: 12px;margin: 0 0 0 auto;color: orange;cursor: pointer;}'
  14. +'.tiebaTemplate-container{width: calc(100% + 28px);height: calc(100% + 14px);position: absolute;z-index: 2;top: 0px;left: -14px;color: #000;background: rgba(255,255,255,.75);font-size: 14px}'
  15. +'.tiebaTemplate-header{margin: 14px;height: 30px;-webkit-user-select: none}'
  16. +'.tiebaTemplate-header h3{font-size:14px}'
  17. +'.tiebaTemplate-header-exit{width: 18px;height: 18px;top: 10px;position: absolute;right: 10px;font-size: 18px;cursor: pointer;}'
  18. +'.tiebaTemplate-article{height: calc(100% - 90px);padding: 0 14px;text-align: center}'
  19. +'.tiebaTemplate-footer{height: 30px;text-align: center;font-size: 14px}'
  20. +'.tiebaTemplate-footer-add{cursor: pointer}'
  21. +'.ttemplate_addp{background: #fff;height: calc(100% - 45px);width: 100%;position: absolute;bottom: 0px}'
  22. +'input[type="text"].ttemplate_addp_title{border: orange 1px solid !important;height: 20px;width: calc(100% - 36px);line-height: 20px;margin: 0 12px;font-size: 14px;padding: 5px}'
  23. +'.ttemplate_addp_context{border: orange 1px solid;height: calc(100% - 75px);margin: 0 12px;font-size: 14px;padding: 5px}'
  24. +'.ttemplate_addp_footer{text-align: center;font-size: 14px}'
  25. +'.ttemplate_addp_footer span{cursor:pointer;}'
  26. +'.ttemplate_data_num{width:5%;display:inline-block}'
  27. +'.ttemplate_data_art{width:85%;display:inline-block;cursor:pointer}'
  28. +'.ttemplate_data_edit,.ttemplate_data_del{width:5%;display:inline-block;cursor:pointer}'
  29. +'.ttemplate_data_art:hover,.ttemplate_addp_footer span:hover,.tiebaTemplate-header-exit:hover,.tiebaTemplate-footer-add:hover,.ttemplate_data_edit:hover,.ttemplate_data_del:hover{color:blueviolet}';
  30. GM_addStyle(stylesheet);
  31.  
  32. var ttemplate_node,ttemplate_data=localStorage.getItem('tiebaTemplate').match(/{"title"\:".*?","context"\:".*?"}/gi)||[];
  33. function ttemplate_1(){
  34. var f=document.createElement('div'),n1=document.getElementsByClassName('poster_head_text')[0];
  35. n1.parentNode.insertBefore(f,n1.nextElementSibling);
  36. f.className='ttemplate_listener';
  37. f.innerHTML='插入模板';
  38. f.onclick=function(){ttemplate_2()};
  39. }
  40. function ttemplate_2(){
  41. if(typeof ttemplate_node=='undefined'){
  42. document.getElementsByClassName('edui-container')[0].appendChild(ttemplate_node=document.createElement('div'),
  43. ttemplate_node.className='tiebaTemplate-container',
  44. ttemplate_node.innerHTML='<div class="tiebaTemplate-header">'
  45. +'<h3>贴吧模板</h3>'
  46. +'<div class="tiebaTemplate-header-exit" title="点击关闭此页面">×</div>'
  47. +'<hr>'+'</div>'
  48. +'<div class="tiebaTemplate-article"></div>'
  49. +'<div class="tiebaTemplate-footer">'
  50. +'<span class="tiebaTemplate-footer-add">新建模板</span>'
  51. +'</div>');
  52. document.getElementsByClassName('tiebaTemplate-footer-add')[0].onclick=function(){ttemplate_3()};
  53. document.getElementsByClassName('tiebaTemplate-header-exit')[0].onclick=function(){ttemplate_node.style.display='none'};
  54. ttemplate_4();
  55. }
  56. else ttemplate_node.style.display='';
  57. }
  58. function ttemplate_3(attr){
  59. var ttemplate_addp=document.createElement('div'),ttemplate_addp_context=document.createElement('div'),ttemplate_addp_title=document.createElement('input'),ttemplate_addp_footer=document.createElement('div');
  60. ttemplate_addp.className='ttemplate_addp';
  61. ttemplate_addp_title.setAttribute('type','text');
  62. ttemplate_addp_title.setAttribute('placeholder','请输入标题');
  63. ttemplate_addp_title.className='ttemplate_addp_title';
  64. ttemplate_addp_context.setAttribute('contenteditable','true');
  65. ttemplate_addp_context.className='ttemplate_addp_context';
  66. ttemplate_addp_footer.innerHTML='<span class="ttemplate_addp_save">保存</span> <span class="ttemplate_addp_cancel">取消</span>';
  67. ttemplate_addp_footer.className='ttemplate_addp_footer';
  68. ttemplate_addp.appendChild(ttemplate_addp_title);
  69. ttemplate_addp.appendChild(ttemplate_addp_context);
  70. ttemplate_addp.appendChild(ttemplate_addp_footer);
  71. ttemplate_node.appendChild(ttemplate_addp);
  72. if(typeof attr!='undefined'){
  73. var S=JSON.parse(ttemplate_data[attr]);
  74. ttemplate_addp_title.value=S.title;
  75. ttemplate_addp_context.innerHTML=S.context;
  76. }
  77. ttemplate_addp_footer.getElementsByClassName('ttemplate_addp_save')[0].onclick=function(){
  78. if(ttemplate_addp_title.value!=''&&ttemplate_addp_context.innerHTML!=''){
  79. var t=new Object();
  80. t.title=ttemplate_addp_title.value;
  81. t.context=ttemplate_addp_context.innerHTML;
  82. if(typeof attr!='undefined')ttemplate_data[attr]=JSON.stringify(t);
  83. else ttemplate_data.push(JSON.stringify(t));
  84. ttemplate_node.removeChild(ttemplate_addp);
  85. localStorage.setItem('tiebaTemplate',ttemplate_data.toString());
  86. delete t;
  87. ttemplate_4();
  88. }
  89. }
  90. ttemplate_addp_footer.getElementsByClassName('ttemplate_addp_cancel')[0].onclick=function(){
  91. ttemplate_node.removeChild(ttemplate_addp);
  92. }
  93. }
  94. function ttemplate_4(){
  95. var ttemplate_article=document.getElementsByClassName('tiebaTemplate-article')[0];
  96. if(localStorage.getItem('tiebaTemplate')){
  97. var Q,R='',S,T;
  98. for(Q in ttemplate_data){
  99. S=JSON.parse(ttemplate_data[Q]);
  100. R+='<div class="ttemplate_data"><div class="ttemplate_data_num">'+(parseInt(Q)+1)+'</div><div class="ttemplate_data_art" title="'+S.context.substr(0,100)+'">'+S.title+'</div><div class="ttemplate_data_edit">修改</div><div class="ttemplate_data_del">删除</div></div>';
  101. }
  102. ttemplate_article.innerHTML=R;
  103. var T=ttemplate_article.querySelectorAll('.ttemplate_data_art'),U=ttemplate_article.querySelectorAll('.ttemplate_data_edit'),V=ttemplate_article.querySelectorAll('.ttemplate_data_del');
  104. for(var i=0;i<T.length;i++)T[i].onclick=ttemplate_5;
  105. for(var i=0;i<U.length;i++)U[i].onclick=ttemplate_6;
  106. for(var i=0;i<V.length;i++)V[i].onclick=ttemplate_7;
  107. }
  108. else{
  109. ttemplate_article.innerHTML='啊哦……你还没有设置过模板呢……'
  110. }
  111. }
  112. function ttemplate_5(){
  113. var cnode=document.getElementById('ueditor_replace');
  114. cnode.innerHTML+=JSON.parse(ttemplate_data[parseInt(this.parentNode.getElementsByClassName('ttemplate_data_num')[0].innerHTML)-1]).context;
  115. ttemplate_node.style.display='none';
  116. }
  117. function ttemplate_6(){
  118. ttemplate_3(parseInt(this.parentNode.getElementsByClassName('ttemplate_data_num')[0].innerHTML)-1);
  119. }
  120. function ttemplate_7(){
  121. ttemplate_data.splice(parseInt(this.parentNode.getElementsByClassName('ttemplate_data_num')[0].innerHTML)-1,1);
  122. localStorage.setItem('tiebaTemplate',ttemplate_data.toString());
  123. ttemplate_4();
  124. }
  125.  
  126. if(document.getElementsByClassName('forum_content')[0]||document.getElementsByClassName('p_postlist')[0]){
  127. if(document.getElementById('ueditor_replace'))ttemplate_1();
  128. else {
  129. var editor_wait=window.setInterval(function(){
  130. if(document.getElementById('ueditor_replace')){
  131. window.clearInterval(editor_wait);
  132. ttemplate_1();
  133. }
  134. },100)
  135. }}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址