您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
On poe.trade you can now click the WHISPER button to bring up the preformated text in a popup.
// ==UserScript== // @name poe.trade-DirectWhisper // @namespace DirectWhisper // @include http://poe.trade/search/* // @version 0.8.2 // @grant none // @description On poe.trade you can now click the WHISPER button to bring up the preformated text in a popup. // ==/UserScript== javascript: var cusid_ele = document.getElementsByClassName('item'); var target = document.querySelector('#content'); var observer = new MutationObserver(function () { set_all(); }); var config = { attributes: true, childList: true, characterData: true, subtree: true }; set_all(); function set_all() { observer.disconnect(); for (var i = 0; i < cusid_ele.length; ++i) { var item = cusid_ele[i]; var AlreadyAdded = item.getElementsByClassName('dwhook'); if (AlreadyAdded.length == 0) { var aTags = item.getElementsByTagName('a'); var html = ' · <span class="dwhook" style="color:#999">WHISPER</span>'; // Internet Explorer, Opera, Chrome, Firefox 8+ and Safari if (aTags[1].insertAdjacentHTML) { aTags[1].insertAdjacentHTML('afterend', html); } else { var range = document.createRange(); var frag = range.createContextualFragment(html); aTags[1].parentNode.insertBefore(frag, aTags[1]); //workaround for stupid browsers, not tested, will fuck stuff up big time } var WhisperSpan = item.getElementsByClassName('dwhook'); WhisperSpan[0].onclick = function (j) { return function () { disp(j); }; }(i); WhisperSpan[0].onmouseover = function () { this.style.color = '#00ffaa'; //color of hovered WHISPER } WhisperSpan[0].onmouseout = function () { this.style.color = '#999'; } } } observer.observe(target, config); } function copyToClipboard(item, text) { var ok = window.prompt(' Copy message to clipboard: Ctrl+C, Enter ', text); if (ok != null) { item.getElementsByClassName('dwhook') [0].style.backgroundColor = '#550055'; //color of clicked WHISPER } } function disp(i) { var item = cusid_ele[i]; var item_buyout = item.getAttribute('data-buyout'); var iname_links = item.getElementsByTagName('a'); var item_name = iname_links[0].innerHTML; if (item_name == 'Buy') { var iname_li = item.getElementsByTagName('li'); var item_name = iname_li[0].innerHTML.replace("<br>"," "); } var item_name = item_name.replace(' <span class="label success corrupted">corrupted</span>', ''); var item_name = item_name.trim() var char_name_temp = item.innerHTML.match('IGN: (.{2,50})(\n| · )'); var char_name = char_name_temp[1]; var quality_temp = item.getElementsByClassName('gem-quality'); var league_temp = document.getElementsByClassName('chosen-single'); var league_temp2 = league_temp[0].getElementsByTagName('span'); var league = league_temp2[0].innerHTML; // //MESSAGE //customize te following text parts to your liking: if (item_buyout != '') { var item_buyout_text = ' listed for ' + item_buyout; //change for your buyout description } else { var item_buyout_text = ''; } var gem_quality_text = '' if (quality_temp.length != 0) { if (quality_temp[0].innerHTML.match(/\d+/) [0] > 0) { var gem_quality_text_temp = quality_temp[0].innerHTML.replace('%', '') .match(/\d+/) [0]; var gem_quality_text = gem_quality_text_temp + 'Q '; //change for your quality description } } copyToClipboard(item, '@' + char_name + ' Hi, I would like to buy your ' + gem_quality_text + item_name + item_buyout_text + ' in ' + league + '.'); //available: char_name, item_name, item_buyout_text, gem_quality_text, league }