贴吧提醒界面快速回复表情添加版

ss

  1. // ==UserScript==
  2. // @name 贴吧提醒界面快速回复表情添加版
  3. // @namespace
  4. // @include http://tieba.baidu.com/i/*/replyme
  5. // @version 2.1
  6. // @grant unsafeWindow
  7. // @require http://static.hdslb.com/js/jquery.min.js
  8. // @description:zh-cn 直接在i贴吧里”回复我的“里边直接快速回复,回复快捷键:ctrl+回车或者alt+s
  9. // @author 小血~表情插入by妖夏小绯
  10. // @description ss
  11. // ==/UserScript==
  12. function reply(fid, tid, tbs, kw, pid, ct, $cDiv, oldUrl) {
  13. var postData = {
  14. anonymous : 0,
  15. content : ct,
  16. fid : fid,
  17. floor_num : 16,
  18. ie : 'utf-8',
  19. kw : kw,
  20. rich_text : 1,
  21. lp_sub_type : 0,
  22. lp_type : 0,
  23. new_vcode : 1,
  24. tbs : tbs,
  25. tid : tid,
  26. repostid : pid,
  27. quote_id : pid,
  28. tag : 11
  29. }
  30. //alert(JSON.stringify(postData))
  31. $.post('http://tieba.baidu.com/f/commit/post/add', postData, function (r) {
  32. r = JSON.parse(r);
  33. if (r.err_code == '0') {
  34. alertEx('回复成功', 2000);
  35. $cDiv.remove();
  36. } else if (r.data.vcode.str_reason == '请点击验证码完成发贴') {
  37. alertEx('回复失败:此次回复内容需要验证码,本脚本赞不支持验证码,需要到帖子页回复,点击关闭跳转至帖子页面', 0)
  38. $('#msgClose').attr('oldUrl', oldUrl);
  39. } else {
  40. alertEx('回复失败:' + JSON.stringify(r), 0)
  41. }
  42. });
  43. }
  44. function alertEx(msg, time) {
  45. $('#msgContent').text(msg);
  46. $('#msgDiv').show();
  47. if (time > 0) {
  48. setTimeout(function () {
  49. $('#msgDiv').hide();
  50. }, time)
  51. }
  52. }
  53. $(document).ready(function () {
  54. var zz = '<div id=\'msgDiv\' style=\'display:none;width:100%;height:100%;background:rgba(0,0,0,0.5);position: fixed; top: 0; left: 0;z-index:999997\' class="lzl_editor_container j_lzl_e_c lzl_editor_container_s">'
  55. zz += '<div style=\'height:0px; width:0px;top:50%; left:50%;position:fixed;\'>';
  56. zz += '<div style=\'background:rgb(242,242,242);border:1px solid #ddd; width:260px;height:100px;padding:20px 30px 20px 30px;position:absolute; margin:-150px;border-radius:6px;box-shadow: 0 0 10px #333;text-align:center\'>';
  57. zz += '<p id=\'msgContent\' style=\'width:100%;text-align:left;line-height:25px;min-height:60px;\'>'
  58. zz += '</p><span id=\'msgClose\' style=\'background:rgb(242,242,242);border:1px solid #555;color:#000;cursor:pointer;height:24px;text-align:center;width:51px;line-height:24px;display:block;margin:0 auto;\'>关闭</span></div></div></div>';
  59. $('body').append(zz);
  60. $('body').on('click', '#msgClose', function () {
  61. $('#msgDiv').hide();
  62. oldUrl = $(this).attr('oldUrl');
  63. if (typeof(oldUrl) != 'undefined' && oldUrl != '') {
  64. $(this).removeAttr('oldUrl');
  65. window.open(oldUrl);
  66. }
  67. })
  68. $('#feed .reply').find('a:last').each(function () {
  69. $(this).attr('target', '')
  70. $(this).attr('temp', $(this).attr('href'))
  71. $(this).attr('href', 'javascript:void(0)')
  72. })
  73. $('#feed').on('click', '.reply a[href=\'javascript:void(0)\']', function (e) {
  74. if ($(this).parent().parent().find('.qkContent').length > 0) {
  75. return;
  76. }
  77. temp = $(this).attr('temp');
  78. temp = temp.substring(temp.indexOf('pid=') + 4)
  79. if (temp.indexOf('&') != - 1) {
  80. temp = temp.substring(0, temp.indexOf('&'))
  81. } else {
  82. temp = temp.substring(0, temp.indexOf('#'))
  83. }
  84. var userName = $(this).parent().parent().parent().find('.replyme_user').text();
  85. var html = '<div class=\'qkContent\' style=\'text-align:center\'>';
  86. html += '<textarea style=\'width:90%;\'></textarea>';
  87. html += '<span class=\'qkSubmit\' pid=\'' + temp + '\' oldUrl=\'' + $(this).attr('temp') + '\' style=\'background:url("http://tb2.bdstatic.com/tb/static-pb/img/pb_css_pic_a630a08.png") no-repeat scroll -344px -7px rgba(0, 0, 0, 0);color:#fff;cursor:pointer;height:24px;text-align:center;width:51px;line-height:24px;float:right;\'>提交</span><span style="position: relative;cursor: pointer;float: right;width: 40px;height: 24px;margin-top: -30px;z-index: 10;" class="lzl_panel_smile j_lzl_p_sm"><div class="lzl_insertsmiley_holder" style=\'z-index: 11;position: relative;width: 33px;height: 22px;cursor: pointer;background: transparent url("http://tb2.bdstatic.com/tb/static-pcommon/img/poster/insertsmiley_icon_711ec2d.png") no-repeat scroll 0% 0%;\'></div></span>'
  88. html += '</div>';
  89. $('.lzlRecentImgDiv').remove();
  90. var div = '<div class="edui-dialog-container lzlRecentImgDiv" style="display: none;background: #E5E5E5 none repeat scroll 0% 0%;padding: 2px;">\
  91. <div style="display: block; z-index: 1;right:350px; position: absolute;" class="edui-dropdown-menu edui-popup">\
  92. <div class="edui-popup-body">\
  93. <div class="j_emotion_container emotion_container" style="width:;height:">\
  94. <div class="s_layer_content j_content ueditor_emotion_content">\
  95. <div class="tbui_scroll_panel tbui_no_scroll_bar">\
  96. <div style="height: ;" class="tbui_panel_content j_panel_content clearfix">\
  97. <table class="lzl_emoi_tab" style="border-collapse:collapse;" align="center" border="1" bordercolor="#e3e3e3" cellpadding="1" cellspacing="1">\
  98. </table></div></div></div></div></div>\
  99. <div style="top: -8px; left: 139px; position: absolute;" class="edui-popup-caret up"></div></div></div>';
  100. $(this).parent().after(html + div);
  101. display_lzl_emot_div($(this));
  102. $(this).parent().next().find('textarea').focus().val('回复 ' + userName.substring(0, userName.length - 1) + ' :');
  103. });
  104. $('#feed').on('click', '.qkSubmit', function () {
  105. tempData = eval('(' + $(this).parent().prev().children(':first').attr('data-param') + ')');
  106. reply(tempData.fid, tempData.tid, tempData.tbs, tempData.kw, $(this).attr('pid'), $(this).prev().val(), $(this).parent(), $(this).attr('oldUrl'));
  107. })
  108. $('#feed').on('keydown', 'textarea', function (e) {
  109. if ((e.keyCode == 83 && e.altKey) || (e.ctrlKey && e.keyCode == 13)) {
  110. $(this).next().click();
  111. e.preventDefault();
  112. return false;
  113. }
  114. })
  115. });
  116.  
  117. //表情面板
  118. function display_lzl_emot_div(cc_div) {
  119. $('.lzl_insertsmiley_holder').click(function () {
  120. insert_lzl_emoi_td(cc_div); //给表格插入表情,ajax也能重新载入
  121. $('.lzlRecentImgDiv').toggle()
  122. }); //点击表情按钮后
  123. $('.lzlRecentImgDiv').click(function () {
  124. $('.lzlRecentImgDiv').hide()
  125. }); //划过显示
  126. }
  127.  
  128. //给表格插入表情
  129. function insert_lzl_emoi_td(cc_div) {
  130. $('.lzl_emoi_tab').html(''); //清空表格
  131. var recentImgData = ['http://static.tieba.baidu.com/tb/editor/images/face/i_f18.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon25.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon33.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon19.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon6.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon28.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon27.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon12.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon16.png', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0005.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0006.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0011.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0012.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0013.gif', 'http://static.tieba.baidu.com/tb/editor/images/face/i_f04.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon24.png', 'http://static.tieba.baidu.com/tb/editor/images/face/i_f30.png', 'http://static.tieba.baidu.com/tb/editor/images/face/i_f09.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon23.png', 'http://static.tieba.baidu.com/tb/editor/images/face/i_f13.png', 'http://static.tieba.baidu.com/tb/editor/images/face/i_f15.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon5.png', 'http://static.tieba.baidu.com/tb/editor/images/client/image_emoticon22.png', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0014.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0021.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0025.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0039.gif', 'http://static.tieba.baidu.com/tb/editor/images/bobo/B_0052.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_011.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_029.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_031.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_035.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_040.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_052.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_020.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0015.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0018.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0017.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0019.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0020.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0023.gif', 'http://static.tieba.baidu.com/tb/editor/images/ldw/w_0025.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_037.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_002.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_012.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_022.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_042.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_069.gif', 'http://static.tieba.baidu.com/tb/editor/images/ali/ali_063.gif', 'http://static.tieba.baidu.com/tb/editor/images/ldw/w_0045.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0024.gif', 'http://static.tieba.baidu.com/tb/editor/images/ldw/w_0029.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0028.gif', 'http://static.tieba.baidu.com/tb/editor/images/ldw/w_0019.gif', 'http://static.tieba.baidu.com/tb/editor/images/ldw/w_0020.gif', 'http://static.tieba.baidu.com/tb/editor/images/ldw/w_0021.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0001.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0002.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0003.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0004.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0005.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0006.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0009.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b06.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b13.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b09.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b15.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b11.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b54.gif', 'http://static.tieba.baidu.com/tb/editor/images/qpx_n/b21.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0012.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0011.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/j_0013.gif', 'http://static.tieba.baidu.com/tb/editor/images/tsj/t_0025.gif', 'http://static.tieba.baidu.com/tb/editor/images/tsj/t_0035.gif', 'http://static.tieba.baidu.com/tb/editor/images/tsj/t_0030.gif', 'http://static.tieba.baidu.com/tb/editor/images/tsj/t_0023.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0001.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0002.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0003.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0004.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0005.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0006.gif', 'http://static.tieba.baidu.com/tb/editor/images/jd/sdxl_0007.gif'];
  132. var html = '';
  133. for (var i = 0; i < recentImgData.length; i++) {
  134. if (i % 14 == 0)
  135. html += '<tr>';
  136. html += '<td class="s_face j_emotion lzlrecentImg" border="1" style="border-collapse:collapse;" data-value="0" data-sname="face" data-type="normal" data-class="s_face" data-stype="img" data-surl="' + recentImgData[i] + '" data-posflag="0" align="center" bgcolor="#FFFFFF" height="50" width="50"><a class="img" href="javascript:void(0)" style="width:50px;height:50px;display:block;color:#000;font-size:14px;text-decoration:none;background-size:contain;background-image:url(\'' + recentImgData[i] + '\');background-repeat:no-repeat">&nbsp;</a></td>';
  137. if (i % 14 == 13)
  138. html += '</tr>';
  139. }
  140. $('.lzl_emoi_tab').prepend(html);
  141. $('.lzlrecentImg').click(function () {
  142. var src = $(this).attr('data-surl');
  143. var pre = /(http:\/\/static\.tieba\.baidu\.com)|(bdstatic\.com)/;
  144. if (pre.test(src)) {
  145. cc_div.parent().next().find('textarea').focus().val(cc_div.parent().next().find('textarea').focus().val() + '[emotion pic_type=1 width=50 height=50]' + src + '[/emotion]');
  146. $('.lzlRecentImgDiv').hide();
  147. } else {
  148. alert('非static.tieba.baidu.com或者bdstati.com[百度自带表情]无法插入,即使插入也无法发表!!!');
  149. }
  150. });
  151. }