// ==UserScript== // @name U2聊天框添加BBCODE按钮 // @namespace https://github.com/AisukaYuki/U2-CHATBOX-BBCODE // @version 0.0.3.6 // @description 聊天框添加BBCODE快捷插入按钮 // @author アイスカユキ // @match *://u2.dmhy.org/* // @exclude *://u2.dmhy.org/forums.php* // @exclude *://u2.dmhy.org/addoffer.php* // @exclude *://u2.dmhy.org/upload.php* // @exclude *://u2.dmhy.org/contactstaff.php* // @exclude *://u2.dmhy.org/edit.php* // @exclude *://u2.dmhy.org/comment.php* // @exclude *://u2.dmhy.org/sendmessage.php* // @icon https://u2.dmhy.org/favicon.ico // @supportURL https://github.com/AisukaYuki/U2-CHATBOX-BBCODE // @homepageURL https://github.com/AisukaYuki/U2-CHATBOX-BBCODE // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/443929/U2%E8%81%8A%E5%A4%A9%E6%A1%86%E6%B7%BB%E5%8A%A0BBCODE%E6%8C%89%E9%92%AE.user.js // @updateURL https://update.greasyfork.icu/scripts/443929/U2%E8%81%8A%E5%A4%A9%E6%A1%86%E6%B7%BB%E5%8A%A0BBCODE%E6%8C%89%E9%92%AE.meta.js // ==/UserScript== //初版测试没有实时预览,后续再完善 (function() { 'use strict'; var bb_tag = $('[name="shbox"] > div'); var btn_pre = ''; var btn_list = '聊天常用:'; btn_list += btn_pre + '[b]这是粗体。[/b]' + btn_min + 'b' + btn_aft + '粗体' + btn_fin; btn_list += btn_pre + '[i]这是斜体。[/i]' + btn_min + 'i' + btn_aft + '斜体' + btn_fin; btn_list += btn_pre + '[u]这是下划线。[/u]' + btn_min + 'u' + btn_aft + '下划' + btn_fin; btn_list += btn_pre + '[s]这是删除线。[/s]' + btn_min + 's' + btn_aft + '删除' + btn_fin; btn_list += ' 颜色:'; btn_list += btn_pre + '[color=red/#RGB]这是红色[/color]' + btn_min + 'color' + btn_aft + '插入' + btn_fin; btn_list += ' 大小:'; btn_list += btn_pre + '[size=4]这是4号字的文字。[/size]' + btn_min + 'size' + btn_aft + '插入' + btn_fin; btn_list += btn_pre + '[url=链接]文本[/url]' + btn_min + 'url' + btn_aft + '链接">
地址:
描述:
'; btn_list += btn_pre + '[img]图片链接[/img]' + btn_min + 'img' + btn_aft + '图片' + btn_fin; btn_list += btn_pre + '[code]这是代码文本。[/code]' + btn_min + 'code' + btn_aft + '代码' + btn_fin; btn_list += btn_pre + "[spoiler='剧透是不可能的!']真的![/spoiler]" + btn_min + 'spoiler' + btn_aft + '剧透">
标题:
内容:
'; btn_list += ''); var text; function box_focus(){ //面向百度编程(wwww var text_pos = text.indexOf("/"); var move_pos = text_pos - 1; (function($) { $.fn.extend({ insertAtCaret: function(myValue) { var $t = $(this)[0]; if (document.selection) { this.focus(); sel = document.selection.createRange(); sel.text = myValue; this.focus(); } else if ($t.selectionStart || $t.selectionStart == '0') { var startPos = $t.selectionStart; var endPos = $t.selectionEnd; var scrollTop = $t.scrollTop; $t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length); this.focus(); $t.selectionStart = startPos + myValue.length; $t.selectionEnd = startPos + move_pos; $t.scrollTop = scrollTop; } else { this.value += myValue; this.focus(); } } }) })(jQuery); //面向百度编程(wwww }; var color_val = '#ff0000'; $("#color_s").change(function(){ color_val= $("#color_s").val(); }); var text_val = '1'; $("#text_s").change(function(){ text_val= $("#text_s").val(); }); function url_on(){ $("#url_box").css("display","inline-block"); }; $("#url_send").click(function(){ text = '[url='+ $("#url_addr").val() + ']' + $("#url_dis").val() + '[/url]'; box_focus(); $("#shbox_text").insertAtCaret(text); $("#url_dis").val(""); $("#url_addr").val(""); $("#url_box").css("display","none"); }); function sp_on(){ $("#sp_box").css("display","inline-block"); }; $("#sp_send").click(function(){ text = '[spoiler='+ $("#sp_text").val() + ']' + $("#sp_dis").val() + '[/spoiler]'; box_focus(); $("#shbox_text").insertAtCaret(text); $("#sp_dis").val(""); $("#sp_text").val(""); $("#sp_box").css("display","none"); }); $(".bbcode").click(function() { var btn_click = $(this).attr("id"); switch (btn_click) { case ('b'): text = '[b][/b]'; break; case ('i'): text = '[i][/i]'; break; case ('u'): text = '[u][/u]'; break; case ('s'): text = '[s][/s]'; break; case ('color'): text = '[color=' + color_val + '][/color]'; break; case ('size'): text = '[size=' + text_val + '][/size]'; break; case ('url'): url_on(); return; case ('img'): text = '[img][/img]'; break; case ('code'): text = '[code][/code]'; break; case ('spoiler'): sp_on(); return; default: break; } box_focus(); $("#shbox_text").insertAtCaret(text); }) $(".bbcode").css({ "display": "inline-block", "position": "relative", "margin-top": "2px", "margin-right": "1px", "padding": "1px" }); $(".color_s").css({ "display": "inline-block", "position": "relative", "margin-right": "1px", "height": "22px", "width": "30px", "padding": "1px" }); $(".eg").css({ "display": "inline-block", "position": "relative", "bottom": "-15px", "left": "100px" }); $("._box").css({ "display": "none", "position": "absolute", "margin-left": "-108px", "margin-top": "25px", "padding": "2px", "border": "2px", "border-radius": "4px", "border-style": "solid", "border-color": "#5b6f83", "background-color": "#6e89a0" }); })();