打鬼筆記|Youtube Iframe Player API筆記

更新於 發佈於 閱讀時間約 6 分鐘

因為要把網站原先使用的影音平台換成youtube,再加上網站內本來就有建立好一些功能,所以目標是用原本的架構無痛轉移

網站內原有功能>>

1.影片未看完但離開頁面或重新整理頁面時會出現alert提醒

2.影片播完後出現謝謝觀賞的alert提示

進行步驟>>

1.先在網頁載入YouTube IFrame Player API

<!-- 影片放置的區域-->
<div id="player"></div>
<!-- include Youtube Iframe Player API -->
<script src="https://www.youtube.com/iframe_api"></script>


2.寫javascript

  var player;
var hasFinished = false; // 用來追蹤影片是否播放完畢

function onYouTubeIframeAPIReady() {
// 影片的id寫在js裡
player = new YT.Player('player', {
height:'390', // 高度預設值為390 css會調成responsive
width: '640', // 寬度預設值為640 css會調成responsive
videoId: '貼上要顯示的Youtube影片id', //從資料庫帶出youtube video id
events: { //事件
'onStateChange': onPlayerStateChange
}
});
}


3.加入監聽(離開頁面&撥放器變化)

//監聽播放器狀態變化
function onPlayerStateChange(event) {
if (event.data === YT.PlayerState.ENDED) {
alert('播放完畢');
hasFinished = true; // 影片播放完畢
}
}
//當使用者嘗試離開頁面時觸發
window.addEventListener('beforeunload', (event) => {
// 如果影片未播放完畢
if (!hasFinished) {
event.preventDefault(); // 阻止默認行為(部分瀏覽器要求這行)
}
});


📝在改寫javascript時,因為要帶入的影片id是從資料庫抓取的,所以先設了變數並且用雙引號讓id型態為字串

var myVideoId = "<?php echo htmlspecialchars($row_content01['h04'], ENT_QUOTES, 'UTF-8'); ?>" //須為字串
//htmlspecialchars() =>避免帶入的值有特殊字元造成混淆或XSS攻擊

function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height:'390',
width: '640',
videoId: myVideoId, //從資料庫帶出youtube video id
events: {
'onStateChange': onPlayerStateChange
}
});
}


📝測試影片可以順利播放後,因為不想要播放結束後出現推薦影片,所以增加了關閉推薦影片&不自動播放的條件。

function onYouTubeIframeAPIReady() {
myVideo = new YT.Player('myVideo', {
height: '390',
width: '640',
videoId: myVideoId,
playerVars: { //用playerVars來設定播放器的行為
rel: 0, // 關閉推薦影片 畫面呈現封面圖
autoplay: 0, // 不自動播放
},
events: {
'onStateChange': onPlayerStateChange
}
});
}


參考資料:

Youtube IFrame Player API

前端工程師 August 的學習筆記-Youtube Iframe API 常用功能

ChatGPT



我是ふふ,這裡記錄平凡的日常
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
平凡人的平凡人生 的其他內容
<來自chatGPT的教學&實際處理紀錄> 黑五過後發現網頁在google搜尋清單出現了不屬於自己網頁的內容,因為有可能是有SEO中毒的情況,加上清查程式也需要時間,因此先從google爬蟲的部分止血,先讓google搜尋顯示不再出現不屬於自己網頁的可疑內容。
<來自chatGPT的教學&實際處理紀錄> 黑五過後發現網頁在google搜尋清單出現了不屬於自己網頁的內容,因為有可能是有SEO中毒的情況,加上清查程式也需要時間,因此先從google爬蟲的部分止血,先讓google搜尋顯示不再出現不屬於自己網頁的可疑內容。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
不知道大家是曾有過這樣的經驗,每次在YT上想要看外文影片,打開字幕->自動翻譯->繁體中文時,總是不會出現字幕,只好退而求其次選擇簡體中文。 今天這篇文章來與大家分享,如何拯救YOUTUBE繁體字幕,讓迷路的文字回歸正軌!! Step1: 前往Chrome 擴充套件(Youtube繁體自動套
Thumbnail
因為最近有在經營Youtube,也有看了一些教學,以及有些經營小心得
Thumbnail
大多數人瀏覽 Youtube 影片,都曾想將影片下載下來。不管是爲了離綫觀看,還是爲了自己備課,作業ppt,或者做工作簡報等。所以選擇一個靠譜的YouTube下載工具很關鍵。
Thumbnail
作為一個非常不專業的前端初學者,有陣子常常卡在公司官網,要插入 Youtube 影片無法RWD(響應式)的問題。 跟不熟悉 網頁技術的朋友們介紹,RWD 就是指網頁的排版能跟著螢幕的大小縮放、變化編排,在這個人手一機的時代,特別重要。
Thumbnail
因應今(2024)年 Google Podcast 結束服務,原用戶收聽 Podcast 需轉移至 YouTube Music 或是 YouTube。 不過礙於流程上沒有很順利(原本去年就應該搬到 YouTube 上),所以作為 YouTube 新手,特別寫一篇文章來分享如何從 YouTube 後
Thumbnail
本文討論了YouTube廣告的最新趨勢,包括廣告攔截器的取締、悄無聲息的廣告擴張以及極端的廣告方式。提出了對應的應對策略,讓讀者對未來的YouTube廣告發展有更深入的瞭解。
Thumbnail
YouTube 最新更新了兩個功能,其中包括長按兩倍速功能和商品功能的推出。長按兩倍速功能讓觀眾可以快速觀看影片,節省時間;而商品功能則讓觀眾可以直接在 YouTube 上購買商品。這些更新顯示了 YouTube 向中國網路平臺學習的趨勢,值得持續關注!
Thumbnail
YouTube作為全球最為龐大的影音平台之一,若你在YouTube上用心創作並精心經營頻道,將有機會吸引來自全球的觀看流量,進而贏得更多粉絲的訂閱和關注。 有時即便投入數天甚至數月的心血於內容製作,卻依舊難以在廣大受眾中脫穎而出,這時有一種更為快速的方式可供考慮,那就是推薦Youtube買訂閱人數。
Thumbnail
最近有網友反應,使用 Adblock 廣告攔截器觀看 YouTube 影片時,影片載入速度變得非常慢,甚至直接卡住,無法觀看。 這是因為 YouTube 開始嚴抓廣告攔截器,除了跳通知提醒用戶關閉廣告攔截器,現在也祭出新招,讓 YouTube 影片載入變超慢,甚至直接卡住[1][4]。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
不知道大家是曾有過這樣的經驗,每次在YT上想要看外文影片,打開字幕->自動翻譯->繁體中文時,總是不會出現字幕,只好退而求其次選擇簡體中文。 今天這篇文章來與大家分享,如何拯救YOUTUBE繁體字幕,讓迷路的文字回歸正軌!! Step1: 前往Chrome 擴充套件(Youtube繁體自動套
Thumbnail
因為最近有在經營Youtube,也有看了一些教學,以及有些經營小心得
Thumbnail
大多數人瀏覽 Youtube 影片,都曾想將影片下載下來。不管是爲了離綫觀看,還是爲了自己備課,作業ppt,或者做工作簡報等。所以選擇一個靠譜的YouTube下載工具很關鍵。
Thumbnail
作為一個非常不專業的前端初學者,有陣子常常卡在公司官網,要插入 Youtube 影片無法RWD(響應式)的問題。 跟不熟悉 網頁技術的朋友們介紹,RWD 就是指網頁的排版能跟著螢幕的大小縮放、變化編排,在這個人手一機的時代,特別重要。
Thumbnail
因應今(2024)年 Google Podcast 結束服務,原用戶收聽 Podcast 需轉移至 YouTube Music 或是 YouTube。 不過礙於流程上沒有很順利(原本去年就應該搬到 YouTube 上),所以作為 YouTube 新手,特別寫一篇文章來分享如何從 YouTube 後
Thumbnail
本文討論了YouTube廣告的最新趨勢,包括廣告攔截器的取締、悄無聲息的廣告擴張以及極端的廣告方式。提出了對應的應對策略,讓讀者對未來的YouTube廣告發展有更深入的瞭解。
Thumbnail
YouTube 最新更新了兩個功能,其中包括長按兩倍速功能和商品功能的推出。長按兩倍速功能讓觀眾可以快速觀看影片,節省時間;而商品功能則讓觀眾可以直接在 YouTube 上購買商品。這些更新顯示了 YouTube 向中國網路平臺學習的趨勢,值得持續關注!
Thumbnail
YouTube作為全球最為龐大的影音平台之一,若你在YouTube上用心創作並精心經營頻道,將有機會吸引來自全球的觀看流量,進而贏得更多粉絲的訂閱和關注。 有時即便投入數天甚至數月的心血於內容製作,卻依舊難以在廣大受眾中脫穎而出,這時有一種更為快速的方式可供考慮,那就是推薦Youtube買訂閱人數。
Thumbnail
最近有網友反應,使用 Adblock 廣告攔截器觀看 YouTube 影片時,影片載入速度變得非常慢,甚至直接卡住,無法觀看。 這是因為 YouTube 開始嚴抓廣告攔截器,除了跳通知提醒用戶關閉廣告攔截器,現在也祭出新招,讓 YouTube 影片載入變超慢,甚至直接卡住[1][4]。