在Blu-ray电影页面添加封面直达按钮
// ==UserScript==
// @name Blu-ray封面直达
// @version 1.0
// @description 在Blu-ray电影页面添加封面直达按钮
// @match *://www.blu-ray.com/movies/*/
// @grant GM_openInTab
// @run-at document-end
// @namespace https://greasyfork.org/users/454991
// ==/UserScript==
(function() {
'use strict';
const createButton = () => {
const btn = document.createElement('button');
btn.textContent = '查看封面';
btn.style = `
position: fixed;
bottom: 30px;
right: 30px;
z-index: 9999;
padding: 12px 24px;
background: #0078d4;
color: white;
border: none;
border-radius: 25px;
cursor: pointer;
font-family: Arial, sans-serif;
font-weight: bold;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: all 0.3s ease;
`;
btn.addEventListener('mouseover', () => {
btn.style.background = '#006cbd';
btn.style.transform = 'translateY(-2px)';
btn.style.boxShadow = '0 6px 8px rgba(0,0,0,0.2)';
});
btn.addEventListener('mouseout', () => {
btn.style.background = '#0078d4';
btn.style.transform = 'none';
btn.style.boxShadow = '0 4px 6px rgba(0,0,0,0.1)';
});
return btn;
};
const extractMovieId = () => {
const pathSegments = window.location.pathname.split('/');
return pathSegments[pathSegments.length - 1] || pathSegments[pathSegments.length - 2];
};
const main = () => {
const btn = createButton();
btn.addEventListener('click', () => {
const movieId = extractMovieId();
if (!/^\d+$/.test(movieId)) {
alert('无法获取有效电影ID');
return;
}
const coverUrl = `https://images.static-bluray.com/movies/covers/${movieId}_front.jpg`;
GM_openInTab(coverUrl, { active: true });
});
document.body.appendChild(btn);
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', main);
} else {
main();
}
})();