文件 2.2.8

執行期相依資源

本頁列出 FlexPlyr 載入時自動注入 <head> 的外部資源,以及它們對版本、CSP 與 SSR 的影響。

注入的資源

腳本一執行就在 <head> 插入下列 preconnect、preload 與實際載入標籤(src/js/main.js),與頁面上建立幾個播放器、使用哪種來源無關:

資源 URL 用途
面板樣式 https://cdn.jsdelivr.net/npm/@pardnchiu/flexplyr@latest/dist/FlexPlyr.css 容器、面板與風格樣式
圖示字型 https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined... 面板按鈕圖示(play_arrow、volume_up 等字型連字)
YouTube SDK https://www.youtube.com/iframe_api(async) YT.Player
Vimeo SDK https://player.vimeo.com/api/player.js(async) Vimeo.Player
<script>
  const urls = [...document.head.querySelectorAll('link[rel="stylesheet"], script[src]')]
    .map((e) => e.href || e.src)
    .filter((u) => !u.includes("/dist/FlexPlyr.js"));
  urls.forEach((u) => console.log(u));
</script>
即時預覽 · @pardnchiu/flexplyr@2.2.9

影響

面向 說明
樣式版本 樣式固定取自 @latest,即使腳本鎖定 @2.2.9,樣式仍會隨新版發佈改變
只用 HTML5 時 YouTube 與 Vimeo SDK 仍會下載
CSP script-src 需允許 cdn.jsdelivr.net(若從 CDN 載入)、www.youtube.com、player.vimeo.com;style-src 需允許 cdn.jsdelivr.net、fonts.googleapis.com;font-src 需允許 fonts.gstatic.com;frame-src 需允許 www.youtube.com、player.vimeo.com
SSR 模組載入即存取 document.head 與 navigator.userAgent,在 Node.js 匯入會失敗,需只在瀏覽器端動態載入
SDK 時序 SDK 以 async 載入,建立 YouTube/Vimeo 播放器前需等待,見媒體來源

相關頁面

EN