Display "https://www.youtube.com/watch?v=***********" of embedded YouTube videos.
当前为
// ==UserScript==
// @name video watch page URL
// @name:ja 埋め込み動画にURL表示
// @namespace https://gf.qytechs.cn/users/19523
// @description Display "https://www.youtube.com/watch?v=***********" of embedded YouTube videos.
// @description:ja ページに埋め込まれたYouTubeの動画の下に動画視聴ページのURLを付け加えます
// @include *
// @exclude http://www.youtube.com/*
// @exclude https://www.youtube.com/*
// @version 0.3.1
// @grant none
// ==/UserScript==
(function () {
var style = document.createElement('style');
style.type = 'text/css';
style.appendChild(document.createTextNode(`\
a.youtube-url {
position: relative;
display: table;
font-size: initial;
}`));
document.getElementsByTagName('head')[0].appendChild(style);
var target = document.getElementsByTagName('body')[0];
var config = { childList: true, subtree: true };
var observer = new MutationObserver(function (mutations) {
insertURL();
});
window.addEventListener('load', insertURL);
function insertURL() {
observer.disconnect();
var elements = document.querySelectorAll('iframe[src*="//www.youtube.com/embed/"]:not([class~="youtube-url"])');
for (var i = 0, element; element = elements[i]; i++) {
var a = document.createElement('a');
if (element.src.indexOf('videoseries') >= 0) {
a.href = element.src.replace(/embed\/videoseries/, 'playlist');
} else {
a.href = element.src.split('?')[0].replace(/embed\//, 'watch?v=');
}
a.appendChild(document.createTextNode(a.href));
element.className += a.className = ' youtube-url';
if (element.parentElement.children.length <= 2 && element.parentElement.parentElement) {
element = element.parentElement;
}
element.parentElement.insertBefore(a, element.nextSibling);
console.log('Detected URL: %s', elements[i].src);
}
var elements = document.querySelectorAll('iframe[src*="//www.youtube-nocookie.com/embed/"]:not([class~="youtube-url"])');
for (var i = 0, element; element = elements[i]; i++) {
var a = document.createElement('a');
if (element.src.indexOf('videoseries') >= 0) {
a.href = element.src.replace(/-nocookie\.com\/embed\/videoseries/, '.com/playlist');
} else {
a.href = element.src.split('?')[0].replace(/-nocookie\.com\/embed\//, '.com/watch?v=');
}
a.appendChild(document.createTextNode(a.href));
element.className += a.className = ' youtube-url';
if (element.parentElement.children.length <= 2 && element.parentElement.parentElement) {
element = element.parentElement;
}
element.parentElement.insertBefore(a, element.nextSibling);
console.log('Detected URL: %s', elements[i].src);
}
var elements = document.querySelectorAll('iframe[data-src*="//www.youtube.com/embed/"]:not([class~="youtube-url"])');
for (var i = 0, element; element = elements[i]; i++) {
var a = document.createElement('a');
if (element.src.indexOf('videoseries') >= 0) {
a.href = element.src.replace(/embed\/videoseries/, 'playlist');
} else {
a.href = element.src.split('?')[0].replace(/embed\//, 'watch?v=');
}
a.appendChild(document.createTextNode(a.href));
element.className += a.className = ' youtube-url';
if (element.parentElement.children.length <= 2 && element.parentElement.parentElement) {
element = element.parentElement;
}
element.parentElement.insertBefore(a, element.nextSibling);
console.log('Detected URL: %s', elements[i].src);
}
var elements = document.querySelectorAll('iframe[data-src*="//www.youtube-nocookie.com/embed/"]:not([class~="youtube-url"])');
for (var i = 0, element; element = elements[i]; i++) {
var a = document.createElement('a');
if (element.src.indexOf('videoseries') >= 0) {
a.href = element.src.replace(/-nocookie\.com\/embed\/videoseries/, '.com/playlist');
} else {
a.href = element.src.split('?')[0].replace(/-nocookie\.com\/embed\//, '.com/watch?v=');
}
a.appendChild(document.createTextNode(a.href));
element.className += a.className = ' youtube-url';
if (element.parentElement.children.length <= 2 && element.parentElement.parentElement) {
element = element.parentElement;
}
element.parentElement.insertBefore(a, element.nextSibling);
console.log('Detected URL: %s', elements[i].src);
}
// Flash-embedded videos
var elements = document.querySelectorAll('embed[src*="//www.youtube.com/v/"]:not([class~="youtube-url"])');
for (var i = 0, element; element = elements[i]; i++) {
var a = document.createElement('a');
a.href = element.src.split('?')[0].replace(/v\//, 'watch?v=');
a.appendChild(document.createTextNode(a.href));
element.className += a.className = ' youtube-url';
element.parentElement.insertBefore(a, element.nextSibling);
console.log('Detected URL: %s', elements[i].src);
}
var elements = document.querySelectorAll('embed[src*="//www.youtube-nocookie.com/v/"]:not([class~="youtube-url"])');
for (var i = 0, element; element = elements[i]; i++) {
var a = document.createElement('a');
a.href = element.src.split('?')[0].replace(/-nocookie\.com\/v\//, '.com/watch?v=');
a.appendChild(document.createTextNode(a.href));
element.className += a.className = ' youtube-url';
element.parentElement.insertBefore(a, element.nextSibling);
console.log('Detected URL: %s', elements[i].src);
}
observer.observe(target, config);
}
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址