ETH官方钱包

切換
舊版
前往
大廳
主題

Tampermonkey腳本 LINE TV 免會員劇院模式

肉粽 | 2024-07-05 11:17:26 | 巴幣 0 | 人氣 34


// ==UserScript==
// @name LINE TV 免會員劇院模式
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 將 LINE TV 的選集列表移到播放器下方,並將播放器調整到劇院模式,阻止改變尺寸。
// @author RouZong
// @match https://www.linetv.tw/drama/*
// @grant none
// ==/UserScript==

(function() {
'use strict';

// 等待頁面完全加載
window.addEventListener('load', function() {
// 獲取播放器和選集列表
const playerContainer = document.querySelector('.w-full.px-5.md\\:w-2\\/3');
const episodeListContainer = document.querySelector('.DramaDesktop___StyledDiv-sc-1n4rs0l-0');

// 刪除指定元素
const flexWrapElement = document.querySelector('div.-mx-5.mt-6.flex.flex-wrap');
if (flexWrapElement) {
flexWrapElement.remove();
}

// 刪除包含關鍵字的元素
const smartChannelElements = document.querySelectorAll('div[class*="SmartChannelTemplatesstyled__"]');
smartChannelElements.forEach(element => {
element.remove();
});

// 刪除 class 為 container flex flex-col pb-2 pt-16 的元素
const containerFlexColElement = document.querySelector('div.container.flex.flex-col.pb-2.pt-16');
if (containerFlexColElement) {
containerFlexColElement.remove();
}

if (playerContainer && episodeListContainer) {
// 創建新的容器
const newContainer = document.createElement('div');
newContainer.style.width = '100%';
newContainer.style.marginTop = '20px';

// 將選集列表移動到新的容器中
newContainer.appendChild(episodeListContainer);

// 將新的容器插入到播放器下方
playerContainer.parentNode.insertBefore(newContainer, playerContainer.nextSibling);

// 調整播放器寬度到100%
playerContainer.style.width = '100%';
playerContainer.style.height = 'auto';

// 調整播放器內部元素寬度
const videoElement = playerContainer.querySelector('.aspect-ratio.aspect-ratio--16x9');
if (videoElement) {
videoElement.style.paddingBottom = '0%';
videoElement.style.height = 'auto';
}

// 調整選集列表內部樣式
const navElement = episodeListContainer.querySelector('nav');
if (navElement) {
navElement.style.flexDirection = 'row';
navElement.style.flexWrap = 'wrap';
navElement.style.justifyContent = 'space-around';
}

// 阻止改變尺寸的函數
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.attributeName === 'style') {
// 恢復播放器寬度和高度
playerContainer.style.width = '100%';
playerContainer.style.height = 'auto';
if (videoElement) {
videoElement.style.paddingBottom = '45%';
videoElement.style.height = 'auto';
}
}
});
});

// 觀察播放器容器的變化
observer.observe(playerContainer, { attributes: true, attributeFilter: ['style'] });
if (videoElement) {
observer.observe(videoElement, { attributes: true, attributeFilter: ['style'] });
}
}
}, false);
})();


更新日誌:
v1.0 2024-07-05
簡單實現劇院模式,會移除影片介紹跟推薦影片及小廣告避免重疊(技術不佳 這樣最省事)

創作回應

更多創作