首頁 > web前端 > js教程 > 如何偵測 YouTube 頁面導航以動態更新 Chrome 擴充功能的內容?

如何偵測 YouTube 頁面導航以動態更新 Chrome 擴充功能的內容?

Susan Sarandon
發布: 2024-12-06 13:41:10
原創
356 人瀏覽過

How Can I Detect YouTube Page Navigation to Dynamically Update a Chrome Extension's Content?

偵測YouTube 上的頁面導航並無縫更改內容

您正在開發一個Chrome 擴充程式來計算和顯示影片的總長度YouTube 播放列表,但該腳本僅在頁面刷新後運行。為了克服這一限制,無縫檢測頁面導航並相應地修改 DOM 至關重要。

頁面轉換的事件偵聽器

YouTube 在導覽期間不會重新載入頁面,而是取代歷史狀態。若要偵測此問題,可以使用多種方法:

  • 後台頁面:在後台頁面或 MV3 Service Worker 中使用 webNavigation 或標籤 API。
  • 包含 Navigatesuccess 事件的內容腳本: 此事件在現代版本中可用Chrome。
  • 包含 YouTube 自訂事件的內容腳本: YouTube 在導覽過程中觸發「yt-navigate-start」事件。

使用「yt-navigate」 -start' 事件提供了一種更靈敏的方法來更改內容動態地。

實現

清單t.json:

{
  "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;
  }
  // Process logic to gather and display total playlist length here
}
登入後複製

利用'yt-navigate-start' 事件並實現必要的腳本邏輯,您可以有效地偵測和回應 YouTube 上的頁面導航,無縫更新頁面內容,而無需任何延遲或頁面刷新。

以上是如何偵測 YouTube 頁面導航以動態更新 Chrome 擴充功能的內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板