您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make commenting on FTB more better
// ==UserScript== // @name FTB comment spiffifier // @namespace http://niko.cat/ // @version 0.1 // @description Make commenting on FTB more better // @include http://freethoughtblogs.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js // ==/UserScript== /* <li class="comment byuser comment-author-nerdofredhead odd alt thread-odd thread-alt depth-1" id="comment-860508"> <article itemprop="comment" itemscope="itemscope" itemtype="http://schema.org/UserComments"> <header class="comment-header"> <p class="comment-author" itemprop="creator" itemscope="itemscope" itemtype="http://schema.org/Person"> <img alt='' src='http://0.gravatar.com/avatar/47f9d14fc29ffe78436ab7c50d58dc08?s=48&d=identicon&r=R' class='avatar avatar-48 photo' height='48' width='48'/><span itemprop="name">Nerd of Redhead, Dances OM Trolls</span> <span class="says">says</span> </p> <p class="comment-meta"> <time itemprop="commentTime" datetime="2014-10-02T09:33:13+00:00"><a href="http://freethoughtblogs.com/pharyngula/2014/10/02/my-morning-mail-bag-so-far/comment-page-1/#comment-860508" itemprop="url">2 October 2014 at 9:33 am</a></time> </p> </header> <div class="comment-content" itemprop="commentText"> <blockquote><p>does Reddit have any responsibility to build a healthy community? I argue they do not. </p></blockquote> <p>Then you argue from a position of moral bankruptcy, and can and will be criticized for that moral failure. There is no excuse for an unhealthy community.</p> </div> </article> </li> */ // http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area $.fn.selectRange = function(start, end) { if (!end) end = start; return this.each(function() { if (this.setSelectionRange) { this.focus(); this.setSelectionRange(start, end); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', start); range.select(); } }); }; var hoverbox = $('<span id="hoverbox">' + '\xa0|\xa0<a class="reply-link" href="#"><b>Reply</b></a>' + '</span>'); var template = $('<div>' + '<a><span class="comment-author-link"></span>@<span class="comment-number-link"></span>:</a>\n' + '<blockquote></blockquote>' + '</div>'); jQuery(document).on('mouseenter', 'li.comment', function hover() { jQuery('#hoverbox').remove(); jQuery(this).closest('li.comment').find('time').first().after(hoverbox); }).on('mouseleave', 'li.comment', function unhover() { jQuery('#hoverbox').remove(); }).on('click', '#hoverbox a.reply-link', function(event) { event.preventDefault(); var comment = $(this).closest('li.comment'); var id = comment.attr('id'); var link = comment.find('time a').attr('href'); var author = comment.find('.comment-author span[itemprop="name"]').text(); var label = comment[0].getAttribute('value'); if (label === null) label = comment.index() + 1; // sigh var content = comment.find('.comment-content'); var fake = template.clone(); fake.find('a').attr('href', '#' + id).end() .find('span.comment-author-link').text(author).end() .find('span.comment-number-link').text(label).end() .find('blockquote').attr('cite', link).append(content.clone().contents()).end(); var textarea = $('#comment'); var text = textarea.val(); if (text.length > 0) text += '\n'; text += fake.html() + '\n'; textarea.val(text); window.location.hash = '#comment'; textarea.selectRange(textarea.val().length).scrollTop(textarea[0].scrollHeight); });