工作筆記四
第四個工作筆記
1梁呈、JS的錯誤處理
未被處理的Error會導(dǎo)致JS程序終止運行增炭。如果想終止程序運行车胡,可以 `throw new Error()`來實現(xiàn)禾嫉。
2、移動端300ms點擊延遲
產(chǎn)生原因:瀏覽器需要進(jìn)行一次縮放判斷馅闽。
解決方案 | 優(yōu)劣 |
---|---|
content = "user-scalable=no" |
阻止雙擊縮放 |
content= "width=device-width, inittial-scale = 1" |
可能不兼容低版本瀏覽器 |
使用fastclick庫 | 偶爾有bug |
3飘蚯、橫豎屏切換函數(shù)-orientationonchange事件
$(window).on("orientationchange",function(){
alert("方向已改變!");
});
4馍迄、常用手勢事件
事件 | 含義 |
---|---|
gesturestart | 手勢開始,一只手已經(jīng)在屏幕上另一只手又觸摸屏幕 |
gesturechange | 任何一只手指發(fā)生變化 |
gestureend | 任何一只手離開屏幕 |
事件傳入的event屬性:
rotation: 手勢變化引起的旋轉(zhuǎn)角度
scale: 手指間距離的變化情況
5局骤、瀏覽器同源
瀏覽器同源:協(xié)議相同柬姚、域名相同、端口相同庄涡。
6量承、屏幕大小劃分
屏幕尺寸 | 屏幕大小 |
---|---|
<768px | 超小屏幕 |
768px ~ 992px | 小屏幕 |
992px ~ 1200px | 中等屏幕 |
>1200px | 超大屏幕 |
7、簡單實現(xiàn)環(huán)形進(jìn)度條
.app-logo{
animation: app-logo-spin infinite 20s linear;
height:80px;
}
@keyframes app-logo-spin {
form {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
8穴店、HLS(HTTP Live Streaming)
由蘋果公司提出的基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議撕捍,工作原理是把整個流分成一個個小的基于HTTP的文件來下載,每次只能下載一些泣洞∮欠纾客戶端可以選擇從許多個備用源中以不同的速度下載同樣的資源。
9球凰、video元素支持的三種視頻格式
視頻格式 | 簡介 |
---|---|
ogg | theora視頻編碼和vorbis音頻編碼的ogg文件 |
MPEG4 | 帶有H.264視頻編碼和ACC音頻編碼的MPEG4文件 |
WebM | 帶有VP8視頻編碼和vorbis音頻編碼的WebM文件 |
10狮腿、視頻H5編碼最佳實踐
<video
id = "video"
src= "video.mp4"
controls = "controls" 允許用戶控制視頻播放
poster = "image.ipg" 視頻封面
preload = "auto" 自動播放
webkit-playsinline = "true" 在IOS10中視頻可小窗口播放
playsinline = "true" IOS微信瀏覽器中支持小窗口播放
x-webkit-airplay = "allow"
x5-video-player-type = "h5" 啟動h5播放器,是wechat安卓特性
x5-video-player-fullscreen = "true" 設(shè)置為true防止橫屏
x5-video-orientaiton = "poraint" 播放器支持的方向
style = "object-fit: fill">
</video>
11呕诉、nodejs常用文件路徑
路徑 | 含義 |
---|---|
_dirname | 總是返回被執(zhí)行的js所在文件夾的絕對路徑 |
_filename | 總是返回被執(zhí)行的js文件的絕對路徑 |
process.cwd() | 總是返回運行node命令時所在的文件夾的絕對路徑 |
./ | 在require()中使用是跟_dirname的效果相同缘厢,不會因為啟動腳本的目錄不一樣而改變,在其他情況下跟process.ced()相同甩挫,是相對于啟動腳本所在目錄的路徑 |
總結(jié):
只有在require()時才能使用相對路徑的寫法贴硫,其他地方一律使用絕對路徑。
當(dāng)前目錄:
path.dirname(_dirname)+'test.js'
相鄰目錄:
path.dirname(_dirname, '../lib/test.js')