通过油猴脚本,给 X(原 twitter)网页版信息流中增加一个下载按钮

解析服务由 ssstwitter.com 提供,本脚本仅是将其附着在信息流中,以免去用户额外输入地址操作。

脚本的安装与使用

脚本安装

脚本已上传 greasyfork : https://greasyfork.org/zh-CN/scripts/478651-twitter-%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD ,点击即可进行安装;

脚本使用

  1. 确保脚本已安装成功;
  2. (随意的)浏览 Twitter ,直到看到不错的视频;
  3. 右键复制视频地址;
  4. 点击下载视频 按钮;
  5. 粘贴视频地址 - 解析 - 下载;

通过这个脚本预估可帮助省去的操作步骤:

  1. (复制好视频链接后)打开新的标签页;
  2. 输入地址 ssstwitter.com (当然,如果你之前打开过该网页,你或许只需要输入 ss ,按↓键,点击回车键即可);
  3. 下载完后切换回 twitter 标签页;
  4. 如果你不小心关闭了 ssstwitter.com 页面,那么不可避免的又要重复一遍上述步骤;
  5. So?脚本的意义就是….

脚本的源码

其中脚本源码如下:

// ==UserScript==
// @name         Twitter 视频下载
// @namespace    https://limbopro.com/
// @version      0.1.1
// @description  Twitter 网页版视频下载
// @author       limbopro
// @license MIT
// @match        https://twitter.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=twitter.com
// @grant        none
// ==/UserScript==

(function () {
    'use strict';
    setInterval(() => {
        if (document.querySelectorAll('[data-testid="cellInnerDiv"]')) { // 判断当前页面是否存在推文
            let article = document.querySelectorAll('[data-testid="cellInnerDiv"]') // 找到当前页面已加载的所有推文
            for (let i = 0; i < article.length; i++) {
                if (!article[i].querySelector('a[href*=ssstwitter]')) { // 确保这些推文还没有附着下载按钮
                    if (article[i].querySelector('[data-testid="videoPlayer"]')) { // 如果推文中包含 videoPlayer 则在其身上附着下载按钮 
                        console.log(article[i].textContent); // 在控制台列出该推文的内容
                        let a = document.createElement('a') // 新建元素 a
                        a.href = 'https://ssstwitter.com/result_various'; // 解析服务地址
                        a.target = '_blank'; // 新页面打开
                        a.zIndex = '114154'; // 位于 114154 层,确保 a 元素不被其他元素遮挡
                        a.style = 'position:absolute;right:40px;top:20px;background-color:blue;color:aquamarine;z-index:114154;' // 为其设置必要的样式
                        a.textContent = "下载视频"; // a 元素的文字内容
                        article[i].appendChild(a) // 执行附着
                    }
                }
            }
        }
    }, 1000) // 每秒执行一次脚本 直至关闭当前页面
})();

效果(简简单单,未做太多修饰):

图片alt

* 本文最后更新时间: 2024-03-01 13:44