開啟輔助瀏覽

Besv免費服務

 找回密碼
 立即註冊
搜尋
熱搜: Besv 免費 代架
查看: 1549|回覆: 24

Discuz Youtube代碼v3

[複製連結]
發表於 2016-8-23 10:21:17 | 顯示全部樓層 |閱讀模式
BUG修復版本 https://besv.net/thread-1481-1-1.html

不論是何者皆可相容

  1. [youtube]https://www.youtube.com/watch?v=pNzi-3NG1Rk[/youtube]
  2. [youtube]https://youtu.be/pNzi-3NG1Rk[/youtube]
  3. [youtube]https://www.youtube.com/watch?v=pNzi-3NG1Rk&list=PL_lmuirhrEcAwaL1mhYol_QGIfYDc7_qo[/youtube]
  4. [youtube]https://youtu.be/pNzi-3NG1Rk?list=PL_lmuirhrEcAwaL1mhYol_QGIfYDc7_qo[/youtube]
  5. [youtube]pNzi-3NG1Rk[/youtube]
複製代碼

代碼使用到Javascript來產生Youtube ifarme
  1. <script type="text/javascript">
  2. var Youtube = "{1}";
  3. if(Youtube.indexOf("youtu.be") > -1 ){
  4. if(Youtube.indexOf("list=") > -1 ){
  5. var URL = Youtube.split("be/")[1].split("?")[0]+'?list='+Youtube.split("list=")[1].split("&")[0];
  6. }else{
  7. var URL = Youtube.split("be/")[1].split("?")[0];
  8. }
  9. }
  10. else if(Youtube.indexOf("youtube.com") > -1 ){
  11. if(Youtube.indexOf("list=") > -1 ){
  12. var URL = Youtube.split("v=")[1].split("&")[0]+'?list='+Youtube.split("list=")[1].split("&")[0];
  13. }else{
  14. var URL = Youtube.split("v=")[1].split("&")[0];
  15. }
  16. }else{
  17. var URL = Youtube;
  18. }
  19. document.write('<iframe width="560" height="315" style="max-width:90%;" src="https://www.youtube.com/embed/'+URL+'" frameborder="0" allowfullscreen></iframe>');

  20. </script>
複製代碼

然後 youtube外連的網址是
https://www.youtube.com/embed/影片編號?list=清單編號

這版本 預定就是最後一個了...
一般的網址 youtube短網址 或是輸入編號的可能
都可以套用

樓下示範

轉載請附來源 https://besv.net/thread-1130-1-1.html


 樓主| 發表於 2016-8-23 19:07:29 | 顯示全部樓層
代碼說明
先判斷代碼變數字串中 有無youtu.be
即為判斷輸入變數是否為 youtube官方的短網址

然後判斷代碼變數字串中 有無youtube.com
即為判斷輸入變數是否為 youtube網址

如果上述兩種狀況皆未發生 視為已被使用者擷取影片編號


接著 如果是網址 判斷網址內容
是否有影片清單

依照需求產生不同內容


然後把產生的變數(youtube嵌入必要)
帶入遷入的原始碼並且顯示

點評

棒  發表於 2018-1-1 22:18
目前 只要youtube不要改奘或是影片網址格式 這應該可以用很久  發表於 2016-8-24 10:05
厲害  發表於 2016-8-24 09:36
 樓主| 發表於 2016-8-23 10:22:33 | 顯示全部樓層

  1. [youtube]https://www.youtube.com/watch?v=pNzi-3NG1Rk[/youtube]
複製代碼



  1. [youtube]https://youtu.be/pNzi-3NG1Rk[/youtube]
複製代碼



  1. [youtube]https://www.youtube.com/watch?v=pNzi-3NG1Rk&list=PL_lmuirhrEcAwaL1mhYol_QGIfYDc7_qo[/youtube]
複製代碼



  1. [youtube]https://youtu.be/pNzi-3NG1Rk?list=PL_lmuirhrEcAwaL1mhYol_QGIfYDc7_qo[/youtube]
複製代碼



  1. [youtube]pNzi-3NG1Rk[/youtube]
複製代碼



代碼說明

評分

1

查看全部評分

發表於 2016-8-23 10:39:48 | 顯示全部樓層
代碼裡面的else if不用連在一起嗎?像php那樣:elseif

點評

喔喔! 謝謝啦~  發表於 2016-8-24 09:36
對了... 還有... 碰過 只要有跳錯誤就會知道有寫錯了  發表於 2016-8-23 22:21
Google很好用  發表於 2016-8-23 18:37
超級新手,求教  發表於 2016-8-23 10:40
 樓主| 發表於 2016-8-23 15:47:19 來自手機 | 顯示全部樓層
carry0987 發表於 2016-8-23 10:39
代碼裡面的else if不用連在一起嗎?像php那樣:elseif

不同語言的用法不一樣
發表於 2016-9-1 01:20:55 | 顯示全部樓層
很實用的功能
謝謝大大分享

但小弟是超級新手
想請問這些代碼要修改哪一個檔案還是編輯器設置的Discuz代碼??
希望能請大大指教 謝謝你

點評

編輯器 自訂Discuz代碼那邊  發表於 2016-9-1 09:52
發表於 2018-2-8 22:47:49 | 顯示全部樓層
你這段代碼會員評分後會跳出YOUTUBE內容而飛回到該文章本身的頁面???

點評

是指?  發表於 2018-2-9 11:27
發表於 2018-2-11 02:37:52 | 顯示全部樓層
就是當會員評分完之後..送出.應該要回到文章本頁..但是卻跳出文章內有連結的YOUTUBE撥放介面而不是回到文章本身的頁面

點評

上方測試 不會ㄟ 不清楚原因...  發表於 2018-2-11 12:49
發表於 2018-2-11 22:24:41 | 顯示全部樓層
https://94i.in/這是小弟的網站....因為我使用你YOUTUBE代碼,只要會員評分按送出之後會址顯示YOUTUBE的影片..而非顯是文章本文
 樓主| 發表於 2018-2-12 00:15:49 | 顯示全部樓層
aa3068 發表於 2018-2-11 22:24
https://94i.in/這是小弟的網站....因為我使用你YOUTUBE代碼,只要會員評分按送出之後會址顯示YOUTUBE的影片 ...

剛剛前往測試 應該是你們安裝的插件或是修改有問題導致 詳細原因我也不知道 要問你們開發嵌入Google雲端空間影片分享的人

瀏覽器在載入時 會出現
會被瀏覽器因XSS阻擋導致錯誤

而在 <!DOCTYPE html>  <html lang="zh-TW" dir="ltr" data-cast-api-enabled="true"> 這邊就報錯
載入時就會因為 gapi.loaded_0 is not a function

這邊問題都會因為你們清除console.log而沒看到

送出評分時 在這邊就爆炸啦

Error parsing header X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube: insecure reporting URL for secure page at character position 22. The default protections will be applied.

不清楚你們改了啥 這邊錯誤時就會被擋住

然後因為產生Youtube嵌入頁面是用Javascript產生 會載入後才出現 所以只有嵌入內容出現
您需要登入後才可以回文 登入 | 立即註冊

本版積分規則

黑名單|客戶連結|客服系統

Copyright © 2013 - 2017 Besv Service Team

Powered by Discuz!

Wildcard SSL Certificates

快速回覆 返回頂部 返回列表