// ==UserScript== // @name 苍雪表情增强插件 // @namespace http://blog.eclosionstudio.com // @version 2.0测试版 ver 2 // @description DIY Emotion // @match http://*.9gal.com/read.php?* // @match http://9gal.com/read.php?* // @match http://9baka.com/read.php?* // @match http://*.9baka.com/read.php?* // @match http://*.9gal.com/post.php?* // @match http://9gal.com/post.php?* // @match http://9baka.com/post.php?* // @match http://*.9baka.com/post.php?* // @copyright 2014, eddie32 // @downloadURL none // ==/UserScript== /* 自定义内容*/ // 功能栏标题 var ItemTitleArray = Array ('苍雪自带','颜文字','Lovelive小','Lovelive大','自定义'); // 链接ID, 对应, 100101开始的整数。 var loadTitleArray = Array('100101','100102','100103','100104','100105'); var totalNum = ItemTitleArray.length; // 功能栏数量 // 表情数组定义URL: // 1:苍雪自带 var KFSmileURL = []; for(var j = 0; j < 48; j++) { KFSmileURL[j] = 'http://bbs.9gal.com/images/post/smile/em/em' + ((j)>=9?(j+1):('0'+(j+1))) + '.gif'; } // 2: 颜文字 var emotionArray = Array("(●・ 8 ・●)", "╰(๑◕ ▽ ◕๑)╯", "(﹡ˆˆ﹡)","〜♪♪", "|∀゚", "(´゚Д゚`)", "(;´Д`)", "(`・ω・)", "(=゚ω゚)=", "| ω・´)", "|-` )", "|д` )", "|ー` )", "|∀` )", "(つд⊂)", "(゚Д゚≡゚Д゚)", "(^o^)ノ", "(|||゚Д゚)", "( ゚∀゚)", "( ´∀`)", "(*´∀`)", "(*゚∇゚)", "(*゚ー゚)", "( ゚ 3゚)", "( ´ー`)", "( ・_ゝ・)", "( ´_ゝ`)", "(*´д`)", "(・ー・)", "(・∀・)", "(ゝ∀・)", "(〃∀〃)", "(*゚∀゚*)", "( ゚∀。)", "( `д´)", "(`ε´ )", "(`ヮ´ )", "σ`∀´)", " ゚∀゚)σ", "゚ ∀゚)ノ", "(╬゚д゚)", "(|||゚д゚)", "( ゚д゚)", "Σ( ゚д゚)", "( ;゚д゚)", "( ;´д`)", "( д ) ゚ ゚", "( ☉д⊙)", "((( ゚д゚)))", "( ` ・´)", "( ´д`)", "( -д-)", "(>д<)", "・゚( ノд`゚)", "( TдT)", "( ̄∇ ̄)", "( ̄3 ̄)", "( ̄ー ̄)", "( ̄ .  ̄)", "( ̄皿 ̄)", "( ̄艸 ̄)", "( ̄︿ ̄)", "( ̄︶ ̄)", "ヾ(´ω゚`)", "(*´ω`*)", "(・ω・)", "( ´・ω)", "(`・ω)", "(´・ω・`)", "(`・ω・´)", "( `_っ´)", "( `ー´)", "( ´_っ`)", "( ´ρ`)", "( ゚ω゚)", "(o゚ω゚o)", "( ^ω^)", "(。◕∀◕。)", "/( ◕‿‿◕ )\\", "ヾ(´ε`ヾ)", "(ノ゚∀゚)ノ", "(σ゚д゚)σ", "(σ゚∀゚)σ", "|д゚ )", "┃電柱┃", "゚(つд`゚)", "゚Å゚ ) ", "⊂彡☆))д`)", "⊂彡☆))д´)", "⊂彡☆))∀`)", "(´∀((☆ミつ", "( ◜◒◝ )","(●´3`)~♪"); // 3. lovelive专用小 var LoveliveSmalltargetURL = []; for(var j = 0; j < 40; j++) { LoveliveSmalltargetURL[j] = 'http://smilell2.eclosionstudio.com/Small/Lovelive2nd' + (j+1) + '.png'; } for(var j = 0; j < 40; j++) { LoveliveSmalltargetURL[j+40] = 'http://smilell1.eclosionstudio.com/Small/Lovelive' + (j+1) + '.png'; } // 4. lovelive专用大 var LoveliveBigtargetURL = []; for(var j = 0; j < 40; j++) { LoveliveBigtargetURL[j] = 'http://smilell2.eclosionstudio.com/Big/Lovelive2nd' + (j+1) + '.png'; } for(var j = 0; j < 40; j++) { LoveliveBigtargetURL[j+40] = 'http://smilell1.eclosionstudio.com/Big/Lovelive' + (j+1) + '.png'; } // 返回函数修改: function loadingHandler(loadindex, target){ switch (loadindex) { // 1:苍雪自带 case 1: for(var j = 0; j < 48; j++) { // 引用目标URL var targetURL = KFSmileURL[j]; // 创建预览图像 target.appendChild( createButton( textarea, //对象 returnImg, //方法 's:'+j, //提示文字 40, 40, targetURL) ); } break; // 2: 颜文字 case 2: for (var j=0;j'; target.appendChild(newElementEx); } target.parentNode.insertAfter( document.createElement('br')); break; case 3: // Lovelive大法好Small for(var j = 0; j < 80; j++) { // 引用目标URL var targetURL = LoveliveSmalltargetURL[j]; // 创建预览图像 target.appendChild( createButton( textarea, //对象 returnImg, //方法 'LL2nd'+j, //提示文字 40, 40, targetURL) ); } break; case 4: // Lovelive大法好Big for(var j = 0; j < 80; j++) { // 引用目标URL var targetURL = LoveliveBigtargetURL[j]; // 创建预览图像 target.appendChild( createButton( textarea, //对象 returnImg, //方法 'LL2nd'+j, //提示文字 40, 40, targetURL) ); } break; default: newElementEx = document.createElement('p'); newElementEx.innerHTML = "自定义...
" target.appendChild(newElementEx); return; } } /* 自定义内容到此结束 */ /*------------------------------------*/ var textareas, textarea; var emptyContainer; textareas = document.getElementsByTagName('textarea'); if (!textareas.length) { return; } // 返回颜文字 function returnEmotionHandler(event) { var link, textarea, s, selectedTarget; link = event.currentTarget; textarea = link._target; selectedTarget = event.target; // alert(selectedTarget.innerHTML); textarea.value += selectedTarget.innerHTML; event.preventDefault(); } // 返回Wincode代码 function returnImg(event) { var link, textarea, s, selectedTarget; link = event.currentTarget; textarea = link._target; selectedTarget = event.target; // alert(selectedTarget.src); textarea.value += '[img]'+selectedTarget.src+'[/img]'; event.preventDefault(); } // ImgButton function createButton(target, func, title, width, height, src,altmessage) { // target: 控制对象 // func: 方法 // title: 提示文字 // width,height 外观 // src: 路径 var img, button; img = document.createElement('img'); img.width = width; img.height = height; img.style.borderTop = img.style.borderLeft = "1px solid #ccc"; img.style.borderRight = img.style.borderBottom = "1px solid #888"; img.style.marginRight = "2px"; img.src = src; button = document.createElement('a'); button._target = target; button.title = title; button.href = '#'; button.onclick = func; button.style.cursor="pointer"; var replaceflag = 0; img.src.replace(/Big/,"Small"); button.appendChild(img); button.style.borderBottom = '1px solid'; return button; } // 清空容器用函数 function closeHandler(event){ var deletTarget = document.getElementById('emotioncontainer9999'); deletTarget.parentNode.removeChild(deletTarget); emptyContainer = document.createElement('div'); emptyContainer.id = 'emotioncontainer9999'; // emptyContainer.innerHTML = '空白表情容器'; textarea.parentNode.insertBefore(emptyContainer, textarea); } //展开动作 function extendHandler(event){ var newElement2,link,selectedTarget; /*清空当前容器*/ closeHandler(); newElement2 = document.createElement('div'); newElement2.style.border = '3px solid red'; newElement2.innerHTML = '  '; newElement2.style.background = 'white'; newElement2.style.height = '80px'; newElement2.style.width = textarea.style.width; newElement2.style.overflow = 'auto'; emptyContainer.appendChild(newElement2); /*表情载入*/ selectedTarget = event.target; var loadIndex = selectedTarget.id - '100100'; // alert(loadIndex); loadingHandler(loadIndex,newElement2); event.preventDefault(); } //生成栏目 function createMenuItem(target,func,title, loadTitle){ var newElement; newElement = document.createElement('a'); newElement.style.height = '20px'; newElement.style.width = '100px'; newElement.innerHTML = ' [' +title+ ']'+'  '; newElement.onclick = func; newElement.style.cursor = 'pointer'; newElement.id = loadTitle; target.appendChild(newElement); } // 生成项目 function createMenuElement(target, listNumber){ var newElement; newElement = document.createElement('div'); newElement.style.border = '1px solid red'; newElement.align = 'left'; newElement.style.paddingLeft = '10px'; newElement.innerHTML = ' ⑨_⑨ '; newElement.style.background = '#FFD0FF'; newElement.style.height = '22px'; newElement.style.width = textarea.style.width; target.parentNode.insertBefore(newElement, target); for (var i = 0; i < listNumber; i++) { createMenuItem(newElement,extendHandler,ItemTitleArray[i],loadTitleArray[i]); } var additionalInfo = document.createElement('b'); additionalInfo.innerHTML = ' 2014 by eddie32 '; newElement.appendChild(additionalInfo) } //主函数 for (var i = 0; i < textareas.length; i++) { textarea = textareas[i]; emptyContainer = document.createElement('div'); emptyContainer.id = 'emotioncontainer9999'; // emptyContainer.innerHTML = '空白表情容器'; createMenuElement(textarea, totalNum); textarea.parentNode.insertBefore(emptyContainer, textarea); }