Tumblr get video source

Gets the video source url for the first video on a tumblr post and puts it in the clipboard for easy downloading.

目前为 2018-02-01 提交的版本。查看 最新版本

// ==UserScript==
// @name         Tumblr get video source
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Gets the video source url for the first video on a tumblr post and puts it in the clipboard for easy downloading.
// @author       You
// @match        https://*.tumblr.com/post/*
// @match        https://www.tumblr.com/video/*
// @grant        GM_setClipboard
// @grant        GM_registerMenuCommand
// @run-at       document-idle
// ==/UserScript==

if(window.top !== window.self) {
  window.top.postMessage({
    iframeVideoUrl: window.location.href,
    iframeVideoSrc: document.querySelector('video source').src
  }, "*")
  return
}


const parentPostID = window.location.href.split('/')[4]
let iframeVideoSrc = ''

window.addEventListener('message', function(event) {
  if(!event.data.iframeVideoUrl || !event.data.iframeVideoSrc) {
    return
  }
  const iframeVideoID = event.data.iframeVideoUrl.split('/')[5]

 if(parentPostID === iframeVideoID){
    iframeVideoSrc = event.data.iframeVideoSrc
    if(iframeVideoSrc.endsWith('/480')){
      iframeVideoSrc = iframeVideoSrc.slice(0, -3)
    }
    console.log(iframeVideoSrc)
  }
}, false)

function getVideoUrl(){
  GM_setClipboard(iframeVideoSrc)
}

GM_registerMenuCommand('Get Video Url (clipboard)', getVideoUrl)