後台編輯器、文章影音嵌入、內容管理系統

如何在 編輯器上插入 YouTube 影片?用原始程式碼貼上 iframe 完整教學

教你在 Kendo UI for jQuery Editor 透過 View HTML 原始程式碼功能插入 YouTube 影片,從取得 iframe 嵌入碼、貼入正確位置、更新與儲存,到 iframe 被移除、影片無法播放、CSP 阻擋與手機版寬度問題的實務排查一次整理。

如何在 Kendo UI for jQuery Editor 插入 YouTube 影片?用原始程式碼貼上 iframe 完整教學

文章簡介:Kendo UI for jQuery Editor 可透過 View HTML 原始程式碼功能插入 YouTube 影片。本文以實際後台畫面示範,從 YouTube 取得 iframe 嵌入碼、切換原始碼編輯、貼入內容、儲存驗證,到 iframe 被過濾、影片無法播放與 RWD 顯示問題的排查方式。

完成後可以得到什麼?

完成本文操作後,你可以在使用 Kendo UI for jQuery Editor 的 CMS、Blog 後台或內容管理介面中,直接把 YouTube 影片插入文章內容。做法不需要自行上傳 MP4,也不需要在前端額外寫一套播放器,而是使用 YouTube 提供的 iframe 嵌入碼。

這種方式的重點不是把一般的 YouTube 網址貼進 Editor,而是先取得 Embed HTML,再透過 Kendo Editor 的 View HTML 將 iframe 放到文章 HTML 的正確位置。

為什麼要使用 View HTML 原始程式碼模式?

Kendo UI for jQuery Editor 是 WYSIWYG 編輯器,一般文字、粗體、圖片與連結都可以透過工具列操作。但 YouTube 提供的是一段 iframe HTML;如果只把 https://www.youtube.com/watch?v=... 貼進內容區,通常只會得到網址或超連結,不會自動變成影片播放器。

因此,這篇教學採用 Kendo Editor 內建的 View HTML 工具,也就是你截圖中工具列的 </> 按鈕。進入原始程式碼視窗後,再把 YouTube iframe 貼到需要的位置。

Kendo UI for jQuery Editor 工具列中的 View HTML 原始程式碼按鈕

圖 1:Kendo Editor 工具列中的 </> 按鈕可開啟原始程式碼編輯視窗;實際圖示與文字可能依版本、Theme 或中文化設定不同。

操作前的必要條件

  • 後台內容欄位使用 Kendo UI for jQuery Editor。
  • Editor 工具列已啟用 View HTML;若沒有,本文後段提供初始化設定。
  • 你有一支允許外部網站嵌入的 YouTube 影片。
  • 後端儲存流程允許必要的 iframe 標籤與屬性。
  • 前台網站的 Content Security Policy(若有設定)允許載入 YouTube frame。

YouTube 影片嵌入四步驟指南

Step 1:在 YouTube 開啟「分享」並選擇「嵌入」

先進入要放到文章中的 YouTube 影片頁面,點選播放器下方或分享選單中的「分享」。在分享視窗中選擇「嵌入」,不要只複製一般分享網址。

YouTube 嵌入影片視窗顯示 iframe HTML 程式碼

圖 2:在 YouTube 的分享視窗中選擇「嵌入」,取得可放入網站 HTML 的 iframe。

Step 2:複製 YouTube 產生的 iframe 嵌入碼

進入「嵌入影片」後,YouTube 會顯示一段以 <iframe> 開頭的 HTML。直接按右下角的「複製」即可,不需要自己把 watch URL 改成 embed URL。

YouTube 嵌入影片視窗顯示 iframe HTML 程式碼

圖 3:複製 YouTube 官方產生的 iframe HTML。若要指定開始時間,也可先在此處勾選開始時間再複製。

基本 iframe 會長什麼樣子?

<iframe
    width="560"
    height="315"
    src="https://www.youtube.com/embed/VIDEO_ID"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
</iframe>

其中 VIDEO_ID 會由 YouTube 自動換成實際影片 ID。文章後台若只是提供內容編輯功能,建議直接使用 YouTube 產生的程式碼,而不是讓非技術人員自行拼接 URL。

Step 3:回到 Kendo Editor,開啟原始程式碼編輯

回到網站後台,在「簡介」、「詳細描述」或實際要放影片的 Kendo Editor 欄位中,先把文字內容編輯到大致完成,再點工具列上的 </>。Kendo Editor 會開啟 View HTML 視窗,讓你直接修改目前欄位的 HTML。

如果文章已經有段落,請先找出影片應該插入的位置,例如某個 <p>...</p> 後方,再貼 iframe。不要把 iframe 貼進尚未關閉的段落標籤或其他 HTML 屬性中。

Step 4:貼上 iframe,按「更新」回到編輯器

將剛才複製的 YouTube iframe 貼進原始程式碼視窗,確認程式碼完整包含開始與結束的 <iframe>...</iframe>,再按「更新」

Kendo Editor 原始程式碼編輯視窗中貼入 YouTube iframe

圖 4:在 Kendo Editor 的原始程式碼編輯視窗貼入 YouTube iframe,確認無誤後按「更新」。

Step 5:儲存文章,並到前台實際驗證

按「更新」只代表把原始碼套回 Editor,通常還沒有完成整筆資料的儲存。接著仍要按後台頁面的儲存/更新/送出按鈕,再到前台文章頁確認影片是否正常顯示與播放。

建議至少檢查三件事:桌機版是否能播放、手機版是否超出內容寬度、重新進入後台編輯時 iframe 是否仍存在。第三項尤其重要,因為有些系統會在送出或讀回資料時再次執行 HTML Sanitization,導致 iframe 被移除。

讓 YouTube 影片支援手機版 RWD

YouTube 產生的 iframe 常包含固定 width="560"height="315"。如果網站文章欄位比 560px 窄,手機上就可能產生水平捲軸。較簡單的作法是讓 iframe 寬度跟著父容器縮放。

<iframe
    src="https://www.youtube.com/embed/VIDEO_ID"
    title="YouTube video player"
    style="width:100%;aspect-ratio:16/9;height:auto;border:0;display:block;"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
</iframe>

如果網站需要支援較舊瀏覽器,或 CMS 會移除 aspect-ratio,則可改由前台共用 CSS 控制影片容器比例。不要只把 width 改成 100% 卻保留固定高度,否則畫面比例可能變形。

需要降低 YouTube 個人化追蹤時

YouTube 官方也提供 Privacy Enhanced Mode,可將嵌入網域由 www.youtube.com 改為 www.youtube-nocookie.com。是否採用仍應配合網站的 Cookie、隱私權與同意管理設計。

如果 Kendo Editor 工具列沒有 </>:啟用 viewHtml

若你的 Kendo Editor 工具列沒有原始碼按鈕,先檢查初始化設定是否加入 viewHtml。Kendo UI for jQuery 的 Editor 可透過 tools 指定要顯示的工具。

<textarea id="editor"></textarea>

<script>
$("#editor").kendoEditor({
    tools: [
        "bold",
        "italic",
        "underline",
        "createLink",
        "insertImage",

        // 顯示 View HTML / 原始程式碼編輯工具
        "viewHtml"
    ]
});
</script>

如果系統原本已有完整 tools 設定,不要為了加入 viewHtml 而覆蓋掉既有工具列;應直接把它加入目前的 tools 陣列。若按鈕有出現但沒有文字,也可能只是 Theme、icon 或語系呈現不同。

適用對象/適用情境

  • 使用 Kendo UI for jQuery Editor 的企業後台、CMS、Blog 或公告系統。
  • 需要讓內容管理人員偶爾嵌入 YouTube 影片,但不值得另外開發完整影音上稿元件。
  • 管理者具備基本 HTML 操作能力,知道原始碼修改錯誤可能影響版面。
  • 影片由 YouTube 託管,希望減少網站自行存放與傳輸大型影音檔的負擔。

不適用情境

  • 大量非技術編輯者:如果每天有多人頻繁插入影片,直接開放 View HTML 容易誤改文章 HTML,較適合開發「貼 YouTube URL → 自動產生安全 iframe」的自訂工具。
  • 內容來自不受信任使用者:不要讓一般會員任意提交 iframe。應在後端做 HTML allowlist,只允許必要標籤、屬性與可信任網域。
  • 網站禁止第三方影音:若公司 CSP、資安政策或隱私規範不允許 YouTube,就不應用 iframe 繞過政策。
  • 影片必須完全自主管理:若需要 DRM、內網播放、權限控管或完全掌握影音檔生命週期,應評估專用影音平台或自建串流方案。

常見錯誤與排查方式

錯誤一:貼了 YouTube 網址,但前台只顯示超連結

原因通常是貼入一般的 watch 或分享網址,而不是 iframe 嵌入碼。

排查方式:回到 YouTube,依序選擇「分享 → 嵌入 → 複製」,確認貼入 Kendo Editor 的內容是以 <iframe 開頭。

錯誤二:按更新時看得到,儲存後 iframe 卻消失

這通常不是 YouTube 問題,而是後端 HTML Sanitizer、WAF 或自訂欄位驗證把 iframe 當成不允許的 HTML 移除。

排查方式:用瀏覽器 DevTools 檢查送出 Request 時 iframe 是否存在,再檢查資料庫儲存值。如果送出時有、儲存後沒有,就應檢查 server-side sanitizer 的 allowlist,而不是一直修改 Kendo Editor。

錯誤三:影片區塊出現空白或瀏覽器顯示拒絕載入

可能是影片本身不允許外部嵌入、影片有限制,或網站 CSP 不允許 YouTube frame。

排查方式:先用同一段 iframe 建立最小 HTML 測試頁;再開啟瀏覽器 Console,查看是否有 Content Security Policy、X-Frame 或 YouTube 播放限制訊息。若是 CSP,應由網站管理者調整允許的 frame 來源,不要關閉整體 CSP。

錯誤四:手機版影片超出文章寬度

YouTube 預設嵌入碼通常帶固定寬高,內容欄位比影片寬度窄時便會溢出。

排查方式:將 iframe 設為 width:100%,並用 aspect-ratio:16/9 或網站既有 responsive video container 控制比例,再用至少一支實機手機測試。

錯誤五:Kendo Editor 找不到 View HTML / </> 按鈕

可能是 Editor 的 tools 設定沒有包含 viewHtml,或自訂工具列時把它移除了。

排查方式:檢查初始化 JavaScript 的 tools 陣列,確認包含 "viewHtml"。若透過 MVC/Core Wrapper 產生 Editor,則檢查對應 Wrapper 的 Tools 設定。

錯誤六:為了解決 iframe 被擋,把所有 HTML 過濾都關掉

這是最危險的處理方式。Kendo Editor 允許編輯 HTML,不代表應信任所有提交內容;關閉過濾會擴大 XSS 與惡意嵌入風險。

排查方式:使用 allowlist 思維,只允許業務真正需要的標籤與屬性,例如 iframe 的必要屬性,並限制 src 只能指向核准的 YouTube 網域。前端 Editor 不是安全邊界,伺服器端仍需驗證。

FAQ

Q1:Kendo Editor 可以直接貼 YouTube 網址就自動變影片嗎?

本文採用的標準流程不是貼一般網址,而是取得 YouTube 的 iframe HTML,再用 View HTML 插入。若想做到「貼網址自動嵌入」,通常要另外實作自訂 tool、paste handler 或後端轉換邏輯。

Q2:Kendo Editor 的原始程式碼功能名稱是什麼?

Kendo UI for jQuery Editor 的 built-in tool 名稱是 viewHtml。介面上可能顯示 View HTML、原始程式碼,或只顯示 </> 類型的 icon,取決於版本與語系設定。

Q3:為什麼 iframe 在 Editor 內沒有正常播放,但前台可以?

編輯器的內容區與正式前台的執行環境不一定相同。不要只以 Editor 內是否直接播放判斷成功;正確做法是儲存後到實際前台頁面驗證 DOM、Console 與播放器狀態。

Q4:可以直接允許所有 iframe 嗎?

不建議。若只有 YouTube 需求,應把允許範圍限制在必要標籤、必要屬性與 YouTube 官方嵌入網域。尤其當 Editor 不是只給高度信任的管理員使用時,更不應把 HTML 輸入視為可信任資料。

Q5:可以使用 youtube-nocookie.com 嗎?

可以。YouTube 官方提供 Privacy Enhanced Mode,會使用 youtube-nocookie.com 作為嵌入網域。不過網站仍應依自身 Cookie、隱私權告知與 Consent Management 設計進行評估。

Q6:影片可以指定從某個時間開始嗎?

可以。YouTube 的嵌入功能支援指定開始時間;最簡單的方式是在「嵌入影片」視窗先勾選開始時間,再複製由 YouTube 產生的程式碼,避免自行處理 query string 時出錯。

Q7:需要修改 Kendo Editor 原始碼才能支援 YouTube 嗎?

如果系統已開啟 View HTML 且後端允許合規 iframe,通常不需要修改 Kendo 元件本身。只有在你希望限制編輯者只能貼 YouTube URL、集中處理 RWD 與安全驗證時,才值得開發自訂插入影片工具。

結論與可立即執行的下一步

在 Kendo UI for jQuery Editor 插入 YouTube 影片,核心流程只有四個動作:YouTube 分享 → 嵌入 → 複製 iframe → Kendo Editor View HTML 貼上。真正容易出問題的地方反而是在儲存後的 HTML 過濾、前台 CSP,以及手機版寬度。

建議先在測試文章放入一支可公開嵌入的 YouTube 影片,完成「後台貼入 → 儲存 → 重新開啟後台 → 前台播放 → 手機檢查」這五項驗證。確認整條資料流程不會移除 iframe 後,再開放給正式內容編輯者使用。

傑飛特科技

如果企業正在規劃 Kendo UI 後台客製、CMS 編輯器功能、API 串接或既有網站系統整合,傑飛特科技可以協助盤點目前的前後端架構、內容儲存流程與安全限制,再評估適合的客製方式。請與我們聯繫 或加入「數位轉型|政府補助」!

X

官方資訊/技術文件

重要提醒:API、SDK、平台介面、元件工具列、YouTube 嵌入規則與瀏覽器安全政策可能隨官方更新調整,本文依撰文時官方文件整理。請以官方文件為準。

如何在 編輯器上插入 YouTube 影片?用原始程式碼貼上 iframe 完整教學

Questions about AI or system integration?

Let us evaluate your options directly—faster than figuring it out alone.