DCFever+

Enhancement for trading forum in DCFever.

  1. // ==UserScript==
  2. // @name DCFever+
  3. // @namespace http://www.dcfever.com/
  4. // @version 1.6
  5. // @description Enhancement for trading forum in DCFever.
  6. // @author lacek
  7. // @match http*://www.dcfever.com/trading/listing.php*
  8. // @grant none
  9. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js
  10. // ==/UserScript==
  11. /* jshint -W097 */
  12. 'use strict';
  13.  
  14. (function ($) {
  15. var queryParams = function (url) {
  16. var qs = url.substring(url.indexOf('?') + 1).split('&');
  17. var result = {};
  18. for (var i = 0; i < qs.length; i++) {
  19. qs[i] = qs[i].split('=');
  20. result[qs[i][0]] = decodeURIComponent(qs[i][1]);
  21. }
  22. return result;
  23. };
  24.  
  25. // report shortcut
  26. var types = [
  27. {
  28. reason: '類別不正確',
  29. label: '錯'
  30. },
  31. {
  32. reason: '廣告內容',
  33. label: '廣'
  34. },
  35. {
  36. reason: '重覆刊登',
  37. label: '重'
  38. },
  39. {
  40. reason: '濫用關鍵字',
  41. label: '濫'
  42. }
  43. ];
  44. $('.item_list_wrap > .item_list > li.clearfix > a').each(function (index, a) {
  45. var $a = $(a);
  46. var $col2 = $a.find('.col_2');
  47. var $container = $('<div class="trade_report"></div>').appendTo($col2);
  48. var id = queryParams($a.attr('href')).id;
  49. $.each(types, function(index, type) {
  50. var $button = $('<span><a href="#">' + type.label + ' </a></span>');
  51. $button.click(function (e) {
  52. e.preventDefault();
  53. $.post('report.php', {
  54. reason: type.reason,
  55. comment: type.reason,
  56. form_action: 'report_action',
  57. id: id,
  58. submit: '確認',
  59. }).done(function() {
  60. $container.remove();
  61. });
  62. });
  63. $container.append($button);
  64. });
  65. });
  66.  
  67. // keyboard navigation
  68. var $pagination = $('.lt_pagination > .pages');
  69. var $currentPage = $pagination.find('.current');
  70. $(document).keyup(function(e) {
  71. if (e.keyCode === 37 && !$currentPage.is(':first-child')) { // left
  72. location.href = $currentPage.prev().attr('href');
  73. } else if (e.keyCode === 39 && !$currentPage.is(':last-child')) { // right
  74. location.href = $currentPage.next().attr('href');
  75. }
  76. });
  77.  
  78. // retain order and type
  79. var params = queryParams(location.href);
  80. var queryString = '';
  81. if (params.order) {
  82. queryString += '&order=' + params.order;
  83. }
  84. if (params.type) {
  85. queryString += '&type=' + params.type;
  86. }
  87. if (params.view) {
  88. queryString += '&view=' + params.view;
  89. }
  90. if (queryString.length > 0) {
  91. $('.listing_cat_list li a, .trade_cat li a').each(function(i, e) {
  92. var $e = $(e);
  93. var url = $e.attr('href');
  94. $e.attr('href', url + queryString);
  95. });
  96. }
  97. }) (window.jQuery);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址