Douban Columns Search View

让豆瓣搜索页面并排显示图书、电影、音乐的搜索结果

  1. // ==UserScript==
  2. // @name Douban Columns Search View
  3. // @namespace http://qixinglu.com
  4. // @description 让豆瓣搜索页面并排显示图书、电影、音乐的搜索结果
  5. // @include http://www.douban.com/search?search_text=*
  6. // @version 0.0.1.20140517140356
  7. // ==/UserScript==
  8.  
  9. var search_links = document.querySelectorAll('div.result-top p a');
  10. var book_search_url = search_links[0].href;
  11. var movie_search_url = search_links[1].href;
  12. var music_search_url = search_links[2].href;
  13.  
  14. var content_node = document.getElementById('content');
  15. var result_container_node = document.createElement('div');
  16. result_container_node.id = 'result_container';
  17. result_container_node.innerHTML = '' +
  18. '<div id="book_result" class="extra_result">' +
  19. '<h3><a href="#">图书</a></h3>' +
  20. '</div>' +
  21. '<div id="movie_result" class="extra_result">' +
  22. '<h3><a href="#">电影</a></h3>' +
  23. '</div>' +
  24. '<div id="music_result" class="extra_result">' +
  25. '<h3><a href="#">音乐</a></h3>' +
  26. '</div>';
  27. GM_addStyle('' +
  28. '.extra_result { ' +
  29. 'float: left; ' +
  30. 'margin-right: 10px; ' +
  31. '}' +
  32. '#result_container { ' +
  33. 'float: left; ' +
  34. '}' +
  35. '#book_result {' +
  36. 'width: 360px; ' +
  37. '}' +
  38. '#movie_result {' +
  39. 'width: 450px; ' +
  40. '}' +
  41. '#music_result {' +
  42. 'width: 300px; ' +
  43. '}' +
  44. '#wrapper { ' +
  45. 'width: 1140px; ' +
  46. '}' +
  47. '#db-nav-main .bd {' +
  48. 'width: 964px;' +
  49. '}');
  50. content_node.replaceChild(result_container_node, content_node.lastElementChild);
  51.  
  52. var get_result_node = function(response) {
  53. var temp_document = document.createElement('html');
  54. temp_document.innerHTML = response.responseText;
  55. return temp_document.getElementsByClassName('article')[0];
  56. }
  57.  
  58. GM_xmlhttpRequest({
  59. method: "GET",
  60. url: book_search_url,
  61. onload: function(response) {
  62. var result_node = get_result_node(response);
  63. result_node.removeChild(result_node.firstElementChild);
  64. result_node.removeChild(result_node.firstElementChild);
  65. var result_container_node = document.getElementById('book_result');
  66. result_container_node.appendChild(result_node);
  67. document.querySelector('#book_result a').href = book_search_url;
  68. var link_nodes = result_node.querySelectorAll('.paginator a')
  69. var i, link_node;
  70. for (i = 0; i < link_nodes.length; i += 1) {
  71. link_node = link_nodes[i];
  72. link_node.href = link_node.href.replace('http://www', 'http://book');
  73. }
  74. }
  75. });
  76.  
  77. GM_xmlhttpRequest({
  78. method: "GET",
  79. url: movie_search_url,
  80. onload: function(response) {
  81. var result_node = get_result_node(response);
  82. var result_container_node = document.getElementById('movie_result');
  83. result_container_node.appendChild(result_node);
  84. document.querySelector('#movie_result a').href = movie_search_url;
  85. }
  86. });
  87.  
  88. GM_xmlhttpRequest({
  89. method: "GET",
  90. url: music_search_url,
  91. onload: function(response) {
  92. var result_node = get_result_node(response);
  93. var result_container_node = document.getElementById('music_result');
  94. result_container_node.appendChild(result_node);
  95. document.querySelector('#music_result a').href = music_search_url;
  96. }
  97. });

QingJ © 2025

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