侧边栏壁纸
博主头像
米老鼠吃薯片 博主等级

行动起来,活在当下

  • 累计撰写 2 篇文章
  • 累计创建 3 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

微博相册转直链

Administrator
2025-12-10 / 0 评论 / 0 点赞 / 61 阅读 / 0 字

解决的问题:

当前微博的图片无法将链接直接作为外部直链使用,需要稍加转换后使用。故开发此脚本,方便获取图片直链。使用此脚本后:右击即可获取到图片直链。

配置完毕后使用方法:

在“我的相册”tab中,右击图片,即可将转换后的直链粘贴到剪切板

配置方式:

1.先决条件:浏览器安装油猴脚本

2.新建脚本,导入以下代码并保存

// ==UserScript==
// @name         微博图片链接转直链
// @namespace    http://tampermonkey.net/
// @version      2025-12-11
// @description  try to take over the world!
// @author       You
// @match        https://photo.weibo.com/*/photos
// @icon         https://www.google.com/s2/favicons?sz=64&domain=weibo.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    let imgIdReg = /^.*\/(.*?)$/
    const parseUrl = (originUrl)=>{
        if(originUrl == null || originUrl == ''){
            return
        }
        let matchRes = originUrl.match(imgIdReg)
        if(matchRes == null || matchRes.length != 2){
            return
        }
        let imgSuffix = matchRes[1]
        let res = "https://cdn.cdnjson.com/pic.html?url=tvax3.sinaimg.cn/large/"+imgSuffix;
        console.log(res)
        navigator.clipboard.writeText(res)
    }
    window.addEventListener('load', () => {
      let photoContainerOuter = document.querySelector(".m_photo_list_a")
      if(photoContainerOuter == null){
          console.log("图片外部未找到")
          return
      }
      function parseChatData() {
          let imgs = document.querySelectorAll(".photoList img")
          console.log(imgs)
          if(imgs == null || imgs.length == 0){
              return
          }
          for(let img of imgs){
              img.addEventListener('contextmenu',(e)=>{
                  parseUrl(e.target.getAttribute('src'))
                  e.preventDefault()
              })
          }
      }
      const observer = new MutationObserver((mutationsList) => {
          parseChatData(); // 解析详细数据
      });
      const observerConfig = {
          childList: true, // 监听子节点变化
          subtree: true // 监听所有后代节点
      };
      observer.observe(photoContainerOuter, observerConfig);
    })
    // Your code here...
})();

0

评论区