显示bilibili视频的cid
// ==UserScript==
// @name Bilibili Cid
// @namespace http://tampermonkey.net/
// @version 2025-07-25
// @description 显示bilibili视频的cid
// @author aoi
// @match https://www.bilibili.com/video/*
// @match https://www.bilibili.com/bangumi/play/*
// @icon https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/images/logo-small.png
// @license MIT
// @run-at document-idle
// ==/UserScript==
(function () {
('use strict');
function waitForElm(selector) {
return new Promise((resolve) => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver((mutations) => {
if (document.querySelector(selector)) {
observer.disconnect();
resolve(document.querySelector(selector));
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
});
}
waitForElm('.bpx-player-dm-hint').then((target) => {
const cidButton = document.createElement('button');
cidButton.textContent = cid;
cidButton.type = 'button';
cidButton.style.marginRight = '5px';
cidButton.id = 'cid-button';
cidButton.addEventListener('click', async () => {
const newCid = cid;
cidButton.textContent = newCid;
try {
await navigator.clipboard.writeText(newCid);
console.log('Copied:', newCid);
} catch (err) {
console.error('Failed to copy:', err);
}
});
target.replaceWith(cidButton);
});
})();