o1.16 embed可以將文件嵌入到編譯后的二進(jìn)制中,以后發(fā)布一個(gè)web程序可以只提供一個(gè)二進(jìn)制程序,不需要其他文件,同時(shí)避免重復(fù)文件io讀取。
但是在開(kāi)發(fā)時(shí),使用embed后如果修改前端文件那么需要重啟GO程序,重新生成embed數(shù)據(jù),導(dǎo)致開(kāi)發(fā)過(guò)程不方便。
參考:go語(yǔ)言中文文檔:www.topgoer.com
轉(zhuǎn)自:https://segmentfault.com/a/1190000039256204
提供一個(gè)embed支持動(dòng)態(tài)文件的小技巧,使用http.Dir和embed.FS混合組合一個(gè)新的http.FileSystem,如果當(dāng)前目錄存在靜態(tài)文件,那么使用http.Dir返回靜態(tài)文件內(nèi)容,否則使用embed.FS編譯的內(nèi)容,這樣既可以使用http.Dir訪問(wèn)時(shí)時(shí)的靜態(tài)文件,可以使發(fā)布的二進(jìn)制程序使用embed.FS編譯內(nèi)置的靜態(tài)文件數(shù)據(jù)。
package main
import (
"embed"
"net/http"
)
//go:embed static
var f embed.FS
func main() {
http.ListenAndServe(":8088", http.FileServer(FileSystems{
http.Dir("."),
http.FS(f),
}))
}
// 組合多個(gè)http.FileSystem
type FileSystems []http.FileSystem
func (fs FileSystems) Open(name string) (file http.File, err error) {
for _, i :=range fs {
// 依次打開(kāi)多個(gè)http.FileSystem返回一個(gè)成功打開(kāi)的數(shù)據(jù)。
file, err=i.Open(name)
if err==nil {
return
}
}
return
}
在代碼目錄創(chuàng)建一個(gè)static目錄,然后里面創(chuàng)建一個(gè)index.html auth.html,啟動(dòng)程序后就可以使用http://localhost:8088/static/index.html 訪問(wèn)到靜態(tài)文件,在修改文件后不重啟也會(huì)顯示最新的文件內(nèi)容。
Bay一直致力于為買賣雙方提供更好的售賣平臺(tái),為了便于賣家介紹商品以及買家了解所需,我們將為大家介紹兩種在商品詳情頁(yè)嵌入視頻的方法,以便更好的滿足買賣雙方的需求。除了文字介紹,我們也在每部分精心準(zhǔn)備了視頻說(shuō)明,歡迎點(diǎn)擊了解哦!
eBay商品詳情頁(yè)支持的視頻格式
eBay支持使用HTML5的VIDEO標(biāo)簽來(lái)引用互聯(lián)網(wǎng)上的視頻資源(如MP4格式的視頻影片)直接播放,也支持使用圖片超鏈接的HTML代碼形式,將消費(fèi)者引導(dǎo)向YouTube等視頻網(wǎng)站觀看相關(guān)內(nèi)容。
注意、eBay已禁止使用動(dòng)態(tài)內(nèi)容如Javascript等代碼嵌入視頻,傳統(tǒng)視頻網(wǎng)站的視頻嵌入代碼不可直接引用,使用動(dòng)態(tài)代碼可能會(huì)導(dǎo)致Listing下架。
01、嵌入視頻方法一:
· 上傳視頻:將視頻上傳至儲(chǔ)存空間;
· 編輯代碼:編輯如下代碼紅色部分,[URL]替換成需要嵌入的視頻URL,[VIDEO FORMAT]替換成相應(yīng)視頻格式;
· 進(jìn)入HTML編輯模式:選擇對(duì)應(yīng)eBay listing,進(jìn)入編輯模式,Item Description中選擇HTML編輯模式;
· 嵌入代碼:將編輯好的代碼嵌入商品詳情頁(yè)合適的位置。
代碼示例:
<video controls="">
<source src="https:[URL]" type="video/[VIDEO FORMAT]">
</video>
HTML5 Video標(biāo)簽嵌入視頻步驟:
· 進(jìn)入eBay listing編輯模式,在Item Description,選擇HTML模式;
· 使用HTML5 <VIDEO>標(biāo)簽編寫(xiě)代碼,貼入相應(yīng)代碼。
HTML5 Video標(biāo)簽嵌入視頻需要注意:
· HTML 5原生 <Video> 標(biāo)簽可支持MP4, webM, OGG等多種格式的視頻播放;
· 用戶使用的瀏覽器決定了相應(yīng)視頻格式是否可以播放;
· 用戶需自行尋找對(duì)應(yīng)存儲(chǔ)空間,存儲(chǔ)自己的MP4視頻文件,以https協(xié)議引用。
代碼編寫(xiě)提示:
HTML5格式的代碼嵌入后,商品詳情頁(yè)可直接播放視頻,如下:
視頻存儲(chǔ)空間 - Kizoa
用戶可以上傳視頻至Kizoa上存儲(chǔ),用戶能在https://www.kizoa.app/pfh/index.php上傳視頻并以HTML5的方式進(jìn)行視頻嵌入,詳細(xì)步驟請(qǐng)參考文末——如何使用視頻存儲(chǔ)空間 Kizoa。
02、嵌入視頻方法二:
圖片超鏈接嵌入視頻方法介紹:
· 編輯代碼:編輯如下代碼紅色部分,[TITLE]寫(xiě)入相應(yīng)視頻標(biāo)題(或刪除),[YouTube Video ID]替換成需要嵌入的YouTube video ID,(或替換整段URL);
· 進(jìn)入HTML編輯模式:選擇對(duì)應(yīng)eBay listing,進(jìn)入編輯模式,Item Description中選擇HTML編輯模式;
· 嵌入代碼:將編輯好的代碼嵌入商品詳情頁(yè)合適的位置。
代碼示例:
<!-- BEGIN LINKED VIDEO →
<p>[TITLE]</p>
<div class="ytvideo">
<a target="_blank" href="https://www.youtube.com/embed/[Youtube Video ID]?rel=0">
<img src="https://img.youtube.com/vi/[Youtube Video ID]/0.jpg">
</a>
<p class="yt_ft">Video will open in a new window</p>
</div>
<style> .ytvideo * { box-sizing:border-box; } .ytvideo { max-width:480px; font-family:arial; text-align:center; position:relative; min-height:120px; background-color:#555; } .ytvideo p { position:absolute; margin:0; color:white; background-color:rgba(0,0,0,.5); } .ytvideo .yt_hd { font-size:16px; width:100%; height:28px; line-height:28px; text-align:left; top:0; left:0; padding-left:10px; overflow:hidden; } .ytvideo .yt_ft { font-size:12px; width:100%; bottom:0; left:0; } .ytvideo img { display:block; max-width:100%; border:0; } .ytvideo a:after { content:"\A0BA"; position:absolute; width:60px; height:50px; left:0; top:0; right:0; bottom:0; margin:auto; border:0; border-radius:10px; color:white; background:rgba(0,0,0,.6); font-size:24px; line-height:50px; cursor:pointer; } .ytvideo a:hover:after { background:#CC181E; } .ytvideo .yt_inp { position:absolute; top:100%; left:0; width:100%; text-align:center; padding:.5em .2em; xfont-size:18px; border:0; color:white; background: rgba(0,0,0,.7); } @media(max-device-width:960px){ .ytvideo { margin-bottom:60px; } .ytvideo .yt_inp { padding:1em .2em; } } </style>
<!-- END LINKED VIDEO -->
注意
在桌面和移動(dòng)端瀏覽器中,將打開(kāi)新的窗口,跳轉(zhuǎn)至YouTube網(wǎng)站進(jìn)行播放;
Android和iOS的移動(dòng)端eBay APP均不支持YouTube視頻播放。
圖片超鏈接嵌入視頻示例步驟:
· YouTube網(wǎng)站找到您所需要添加的視頻URL;
· 將該URL填入示例代碼中,將代碼復(fù)制入eBay Item Description:
代碼嵌入后,點(diǎn)擊eBay商品詳情頁(yè)的視頻,新的窗口將被打開(kāi),并跳轉(zhuǎn)至YouTube進(jìn)行播放,如下:
注意、避免使用嵌入式視頻代碼。
需要強(qiáng)調(diào)的是,請(qǐng)避免使用Youtube或其他視頻網(wǎng)站提供的<iframe>嵌入視頻代碼,這種有可能將會(huì)被eBay識(shí)別為動(dòng)態(tài)內(nèi)容,可能會(huì)導(dǎo)致listing的下架。
除了YouTube,其他平臺(tái)也能支持相同嵌入視頻的功能,如下:
如何使用視頻存儲(chǔ)空間 Kizoa
上傳視頻步驟:
· 進(jìn)入Kizoa主頁(yè): https://www.kizoa.app/pfh/index.php
· 注冊(cè)賬號(hào)并登錄使用
· 點(diǎn)擊Add photos/videos以添加視頻
· 選擇上傳來(lái)源(可選來(lái)源自本機(jī)硬盤(pán))
· 選擇視頻
· 系統(tǒng)正在上傳視頻
· 視頻上傳成功
獲取視頻地址:
· 雙擊播放該視頻
· 在鍵盤(pán)上按下F12;
· 點(diǎn)擊網(wǎng)頁(yè)源碼左上角的鼠標(biāo)圖標(biāo);
· 任意點(diǎn)擊視頻播放的區(qū)域;
· 源碼中會(huì)顯示一個(gè)src的鏈接,即是視頻的地址 (https://ugc.kizoa.app/kgra2/f339033939_9814612.mp4);
· 復(fù)制并保存好鏈接。
(來(lái)源:eBay)
錄wordpress,新建一篇文章,或者修改以前的文章。進(jìn)入編輯頁(yè)面
點(diǎn)擊這個(gè)套著圓圈的小加號(hào)
在“格式”中找到“自定義HTML”
在空白處輸入代碼之后是這樣的
<embed src="https://www.meipian.cn/1p57q9li?share_depth=1" width=100% height="700"/>
其中,src是美篇文章的連接,當(dāng)然頭條的也可以,不過(guò)有一點(diǎn)需要注意,如果你打算轉(zhuǎn)載自己的文章,請(qǐng)不要使用美篇后臺(tái)編輯的鏈接。具體做法如下:
點(diǎn)擊“完成/分享”
點(diǎn)擊“復(fù)制鏈接”,這樣我們就get到了正確的鏈接了!
把它付給<embed>的src即可。切記,冒號(hào)不能少,必須是半角!
最后調(diào)一下height值來(lái)控制一下嵌入的頁(yè)面的顯示長(zhǎng)度。
OK,點(diǎn)擊預(yù)覽
好了,你學(xué)會(huì)了嗎?支持公益,關(guān)愛(ài)孤獨(dú)癥兒童!
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。