// ==UserScript== // @name Bangumi-Reply-Extend // @namespace BRE // @description Edit/delete your reply, no refresh required. // @include /https?:\/\/(bgm|bangumi|chii)\.(tv|in)\/((group|subject)\/topic|ep|index)\/\d+/ // @version 0.0.1 // @grant none // @downloadURL https://update.greasyfork.icu/scripts/11880/Bangumi-Reply-Extend.user.js // @updateURL https://update.greasyfork.icu/scripts/11880/Bangumi-Reply-Extend.meta.js // ==/UserScript== var eraseUrl = ''; //need to append "?gh={formhash}" when using it. var editUrl = ''; var needShuffix = false; //Replace the events that binding on the submit button. $(function() { //Clean the original binding: https://stackoverflow.com/questions/19469881/javascript-remove-all-event-listeners-of-specific-type#19470348 $('#ReplyForm')[0].parentNode.replaceChild($('#ReplyForm')[0].cloneNode(true), $('#ReplyForm')[0]); switch(true) { case (window.location.href.search('group') > 0): eraseUrl = '/erase/group/reply/'; editUrl = '/group/reply/'; //need to append "/edit" when using it. needShuffix = true; break case (window.location.href.search('subject') > 0): eraseUrl = '/erase/subject/reply/'; editUrl = '/subject/reply/'; //need to append "/edit" when using it. needShuffix = true; break; case (window.location.href.search('ep') > 0): eraseUrl = '/erase/reply/ep/'; editUrl = '/subject/ep/edit_reply/'; case (window.location.href.search('index') > 0): eraseUrl = '/erase/reply/index/'; editUrl = '/index/edit_reply/'; break; } //The modified event, clone from bgm.tv $('#ReplyForm').submit(function () { var $form = $(this), message = $('#content').val(), related_photo = $('#related_photo').val(), $lastview_timestamp = $form.find('[name=lastview]'), $formhash = $(this).find('[name=formhash]').val(); if (message != '') { submitTip(); if (related_photo == undefined) { related_photo = 0; } $.ajax({ type: 'POST', url: $(this).attr('action') + '?ajax=1', data: ({ content: message, related_photo: related_photo, lastview: $lastview_timestamp.val(), formhash: $formhash, submit: 'submit' }), dataType: 'json', success: function (json) { chiiLib.ajax_reply.insertJsonComments('#comment_list', json); $lastview_timestamp.val(json.timestamp); //== MOD ================= for(i in json.posts.main) { //the variable i is post id $('#post_' + i + ' .re_info small').append(' / del / edit'); //binding erase confirm $('#erase_' + i).click(function () { if (confirm(AJAXtip['eraseReplyConfirm'])) { var post_id = $(this).attr('id').split('_') [1]; $('#robot').fadeIn(500); $('#robot_balloon').html(AJAXtip['wait'] + AJAXtip['eraseingReply']); $.ajax({ type: 'GET', url: (this) + '&ajax=1', success: function (html) { $('#post_' + post_id).fadeOut(500); $('#robot_balloon').html(AJAXtip['eraseReply']); $('#robot').animate({ opacity: 1 }, 1000).fadeOut(500); }, error: function (html) { $('#robot_balloon').html(AJAXtip['error']); $('#robot').animate({ opacity: 1 }, 1000).fadeOut(500); } }); } return false; }); } //======================== $('#content').val(''); if (typeof (REPLY_SUBMIT_TITLE) != 'undefined') { var submit_title = REPLY_SUBMIT_TITLE; } else { var submit_title = '写好了'; } $('#submitBtnO').html('  使用Ctrl+Enter或Alt+S快速提交'); }, error: function (json) { submitError(); } }); } return false; }); });