Gets the video source url for the first video on a tumblr post and puts it in the clipboard for easy downloading.
当前为
// ==UserScript==
// @name Tumblr get video source
// @namespace http://tampermonkey.net/
// @version 0.5
// @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) {
const videoSourceElem = document.querySelector('video source');
if(!videoSourceElem){
return;
}
window.top.postMessage({
iframeVideoUrl: window.location.href,
iframeVideoSrc: videoSourceElem.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)