微博增强

在微博搜索页面添加额外的搜索按钮:热门、关注人、文章。扩大热搜板块的宽度。

  1. // ==UserScript==
  2. // @name 微博增强
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.4
  5. // @description 在微博搜索页面添加额外的搜索按钮:热门、关注人、文章。扩大热搜板块的宽度。
  6. // @author coccvo
  7. // @match https://s.weibo.com/*
  8. // @match https://weibo.com/*
  9. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAFFQTFRF////++/w9Kgx8psQ7nl7AAAA8ZCS4yUo50ZK5TE17GxvxcXFoqKi6Vlc9rhV4iMn6mFjPj4+d3d35j1B9KuthoaG6enpJiYm98Nw98PE+MzNdfhZdQAAAHlJREFUeNqVj0kSwjAMBMfryI7j2FmB/z+UiHJxhr5IrZo5CP/wsM59xY85LttCAWAdalXnjSDPQIVVX6iMFJCY/P56RuEMxbOZs6yTbkkPaTPnFUKYYPjJ0OPopYdDyw1AE9wFTewkFPFmvXoxcTgQJceYE/OPL74BBt8EQ5m+Pm0AAAAASUVORK5CYII=
  10. // @grant none
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. // 查找指定 ID 的侧边栏元素
  18. var rightSidePanel = document.getElementById('pl_right_side');
  19. var sidebarPanel = document.querySelector('.wbpro-side-main.SideIndex_sideMain_3jrwf');
  20.  
  21. if (rightSidePanel) {
  22. // 将宽度修改为380像素
  23. rightSidePanel.style.width = '380px';
  24. }
  25.  
  26. if (sidebarPanel) {
  27. // 将宽度修改为380像素
  28. sidebarPanel.style.width = '380px';
  29. }
  30.  
  31.  
  32. // 获取主导航栏元素
  33. var mainNav = document.querySelector('.m-main-nav');
  34.  
  35. // 如果主导航栏存在,添加按钮
  36. if (mainNav) {
  37. // 创建按钮的容器
  38. var btnContainer = document.createElement('div');
  39. btnContainer.style.display = 'flex';
  40. btnContainer.style.flexDirection = 'column';
  41. btnContainer.style.gap = '1px';
  42. btnContainer.style.marginLeft = '-30px';
  43.  
  44. // 创建按钮
  45. var buttons = [
  46. { text: '热门', params: '&xsort=hot' },
  47. { text: '关注', params: '&atten=1' },
  48. { text: '文章', params: '%20发布了头条文章&haslink=1' },
  49. ];
  50.  
  51. // 获取搜索关键词
  52. var query = new URLSearchParams(window.location.search).get('q');
  53.  
  54. // 遍历按钮配置并创建按钮元素
  55. buttons.forEach(function(button) {
  56. var btn = document.createElement('button');
  57. btn.textContent = button.text;
  58. btn.style.padding = '8px 10px';
  59. btn.style.fontSize = '15px';
  60. btn.style.cursor = 'pointer';
  61. btn.style.backgroundColor = '#FFFFFF00';
  62.  
  63. // 鼠标悬停样式
  64. btn.addEventListener('mouseover', function() {
  65. btn.style.backgroundColor = '#eee';
  66. });
  67. btn.addEventListener('mouseout', function() {
  68. btn.style.backgroundColor = '#FFFFFF00';
  69. });
  70.  
  71. // 设置按钮点击事件
  72. btn.addEventListener('click', function() {
  73. window.location.href = `https://s.weibo.com/weibo?q=${encodeURIComponent(query)}${button.params}`;
  74. });
  75.  
  76. // 将按钮添加到容器中
  77. btnContainer.appendChild(btn);
  78. });
  79.  
  80. // 将按钮容器添加到主导航栏中
  81. mainNav.appendChild(btnContainer);
  82. }
  83. })();