將無縫頁面修改整合到YouTube 導覽
偵測YouTube 上的頁面導覽
與傳統方式不同對於在導航時重新加載頁面的網站,YouTube採用了一種替換歷史狀態的技術,避免了內容腳本
頁面轉換檢測方法
要檢測YouTube 上的頁面轉換,請考慮以下方法:
實作解決方案
manifest.jso n:
{ "matches": ["*://*.youtube.com/*"], "js": ["content.js"], "run_at": "document_start" }
content.js:
document.addEventListener('yt-navigate-start', process); if (document.body) process(); else document.addEventListener('DOMContentLoaded', process);
頁面處理函數修改:
function process() { if (!location.pathname.startsWith('/playlist')) return; var seconds = [...document.getElementsByClassName('timestamp')] .reduce((sum, ts) => { const minsec = ts.textContent.split(':'); return sum + minsec[0] * 60 + minsec[1] * 1; }, 0); if (!seconds) { console.warn('Empty playlist'); return; } const timeHMS = new Date(seconds * 1000) .toUTCString() .split(' ')[4] .replace(/^[0:]+/, ''); document .querySelector('.pl-header-details') .insertAdjacentHTML('beforeend', `<li>Length: ${timeHMS}</li>`); }
以上是如何無縫偵測和修改 YouTube 頁面導航?的詳細內容。更多資訊請關注PHP中文網其他相關文章!