您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add BBCode to MAL Forum posts
当前为
// ==UserScript== // @name BBCodes for MAL // @namespace No Page // @description Add BBCode to MAL Forum posts // @author Al_eXs // @include *myanimelist.net/forum/?topicid=* // @include *myanimelist.net/forum/?action=message&msgid=* // @include *myanimelist.net/forum/?action=message&topic_id=* // @include *myanimelist.net/mymessages.php?go=send* // @include *myanimelist.net/editprofile.php* // @include *myanimelist.net/myblog.php* // @include *myanimelist.net/forum/?action=post* // @include *myanimelist.net/forum/index.php?action=post&boardid=* // @include *myanimelist.net/clubs.php?cid=* // @include *myanimelist.net/profile/* // @include *myanimelist.net/modules.php?go=report&type=forummessage&id=* // @include *myanimelist.net/mymessages.php?toname=* // @include *myanimelist.net/comtocom.php?id1=* // @exclude *myanimelist.net/editprofile.php?go=stylepref&do=cssadv&id=* // @version 1.0.9 // ==/UserScript== function addtag(obj, tag) { beforeText = obj.value.substring(0, obj.selectionStart); selectedText = obj.value.substring(obj.selectionStart, obj.selectionEnd); afterText = obj.value.substring(obj.selectionEnd, obj.value.length); switch(tag) { case "bold": tagOpen = "[b]"; tagClose = "[/b]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "strike": tagOpen = "[s]"; tagClose = "[/s]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "italic": tagOpen = "[i]"; tagClose = "[/i]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "underline": tagOpen = "[u]"; tagClose = "[/u]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "code": tagOpen = "[code]"; tagClose = "[/code]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "center": tagOpen = "[center]"; tagClose = "[/center]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "right": tagOpen = "[right]"; tagClose = "[/right]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "spoiler": tagOpen = "[spoiler]"; tagClose = "[/spoiler]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "url": desc = prompt("Enter URL description", ""); if (desc == null) { break; } tagOpen = "[url="; tagClose = "]" + desc + "[/url]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "url=": url = prompt("Enter URL", ""); if (url == null) { break; } tagOpen = "[url=" + url + "]"; tagClose = "[/url]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "image": imgURL = prompt("Enter image URL", ""); if (imgURL == null) { break; } tagOpen = "[img]"; tagClose = "[/img]"; newText = beforeText + tagOpen + imgURL + tagClose + afterText; break; case "size": txtSize = document.getElementById("Size"); if (txtSize == "Size") { break; } if (txtSize.value == "enter") { txtSizeName = prompt("Enter the size (from 0 to 999, 100 is default)", ""); } else { txtSizeName = txtSize.value; } tagOpen = "[size=" + String(txtSizeName) + "]"; tagClose = "[/size]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "profile": profile = prompt("Enter profile name", ""); if (profile == null) { break; } tagOpen = "[profile=" + profile + "]"; tagClose = "[/profile]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "youtube": yt = prompt("Enter complete youtube url", ""); if (yt == null) { break; } yt0 = yt.replace("https://","http://"); yt1 = yt0.replace("http://www.youtube.com/watch?v=",""); yt2 = yt1.substring(0,11); tagOpen = "[yt]"; tagClose = "[/yt]"; newText = beforeText + tagOpen + yt2 + tagClose + afterText; break; case "colour": colour = document.getElementById("Colour"); if (colour == "Select") { break; } if (colour.value == "enter") { colourName = prompt("Enter the colour name or hex value (e.g. #abc123)", ""); } else { colourName = colour.value; } tagOpen = "[color=" + String(colourName) + "]"; tagClose = "[/color]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "quote=": quote = prompt("Enter quoted person name", ""); if (quote == null) { break; } tagOpen = "[quote=" + quote + "]"; tagClose = "[/quote]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "quote": tagOpen = "[quote]"; tagClose = "[/quote]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "list": tagOpen = "[list][*]"; tagClose = "[/list]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "list=1": tagOpen = "[list=1][*]"; tagClose = "[/list]"; newText = beforeText + tagOpen + selectedText + tagClose + afterText; break; case "[*]": tagOpen = "[*]"; newText = beforeText + tagOpen + selectedText + afterText; break; } obj.value = newText; } function xpath(query, object) { if(!object) var object = document; return document.evaluate(query, object, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); } function getXpathRes(){ var path = xpath("//textarea[@class='textarea']"); if(path.snapshotLength == 0) path = xpath("//textarea[@class='inputtext']"); return (path.snapshotLength > 0) ? path : false; } var xpathRes = getXpathRes(); if(xpathRes){ var div1 = document.createElement("div"); div1.style="margin: 0px; margin-top:10px; margin-bottom:5px"; div1.align ="Left"; div1.id = "myBBcode"; div1.innerHTML = " "; div1.style.display = "block"; xpathRes.snapshotItem(0).parentNode.insertBefore(div1, xpathRes.snapshotItem(0)); var post = document.createElement("input"); post.type = "button"; post.value = "Bold"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'bold');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Italic"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'italic');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Strike"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'strike');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Underline"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'underline');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Code"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'code');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Center"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'center');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Right"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'right');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "URL"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'url');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "URL="; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'url=');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Spoiler"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'spoiler');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "IMG"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'image');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Youtube"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'youtube');}, false); div1.appendChild(post); var post = document.createElement("BROKEN"); post.type = "button"; post.value = "Profile"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'profile');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Quote="; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'quote=');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "Quote"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'quote');}, false); div1.appendChild(post); var postSize = document.createElement("select"); postSize.id = "Size"; //postSize.value = "Size"; var opt = document.createElement("option"); opt.value = "Size"; opt.appendChild(document.createTextNode('Size')); postSize.appendChild(opt); var opt = document.createElement("option"); opt.value = "50"; opt.appendChild(document.createTextNode('Small')); postSize.appendChild(opt); var opt = document.createElement("option"); opt.value = "100"; opt.appendChild(document.createTextNode('Normal')); postSize.appendChild(opt); var opt = document.createElement("option"); opt.value = "300"; opt.appendChild(document.createTextNode('Medium')); postSize.appendChild(opt); var opt = document.createElement("option"); opt.value = "600"; opt.appendChild(document.createTextNode('Big')); postSize.appendChild(opt); var opt = document.createElement("option"); opt.value = "900"; opt.appendChild(document.createTextNode('Ultra Big')); postSize.appendChild(opt); var opt = document.createElement("option"); opt.value = "enter"; opt.appendChild(document.createTextNode('Enter size')); postSize.appendChild(opt); postSize.addEventListener('change', function() {addtag(document.getElementsByTagName("textarea")[0],'size'); postSize.value = 'Size'}, false); div1.appendChild(postSize); var postColour = document.createElement("select"); postColour.id = "Colour"; //postColour.value = "Colour"; var opt = document.createElement("option"); opt.value = "Select"; opt.appendChild(document.createTextNode('Select Colour')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "grey"; opt.appendChild(document.createTextNode('Grey')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "blue"; opt.appendChild(document.createTextNode('Blue')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "red"; opt.appendChild(document.createTextNode('Red')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "green"; opt.appendChild(document.createTextNode('Green')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "yellow"; opt.appendChild(document.createTextNode('Yellow')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "pink"; opt.appendChild(document.createTextNode('Pink')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "navy"; opt.appendChild(document.createTextNode('Navy')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "white"; opt.appendChild(document.createTextNode('White')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "black"; opt.appendChild(document.createTextNode('Black')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "orange"; opt.appendChild(document.createTextNode('Orange')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "purple"; opt.appendChild(document.createTextNode('Purple')); postColour.appendChild(opt); var opt = document.createElement("option"); opt.value = "enter"; opt.appendChild(document.createTextNode('Enter colour')); postColour.appendChild(opt); postColour.addEventListener('change', function() {addtag(document.getElementsByTagName("textarea")[0],'colour'); postColour.value = 'Select'}, false); div1.appendChild(postColour); var post = document.createElement("input"); post.type = "button"; post.value = "list"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'list');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "list=1"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'list=1');}, false); div1.appendChild(post); var post = document.createElement("input"); post.type = "button"; post.value = "[*]"; post.addEventListener('click', function() {addtag(document.getElementsByTagName("textarea")[0],'[*]');}, false); div1.appendChild(post); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址