原创 程序員:項目中的“滾動盒子”竟然還可以這樣寫

第一種方式:根據不同屏幕動態獲取滾動盒子高度 其實“想讓一個頁面部分內容(某個div)發生滾動,只要讓內容高度大於盒子高度即可”。 基於此,包裹滾動內容的div的高度就不能是自適應內容的高度,而是通過js獲取的相對每個頁面的“固

原创 實戰web聊天室(express+socket.io):進退、聊天、重名檢測

放縱了這麼多天,到了快開學的時候了,終於想到不能這麼無所事事下去,正巧遇到同學在寫Python聊天室,想着能不能實現一個web版的聊天室呢? 本demo後臺選用nodejs,客戶端與服務端通信用socket.io —— 這是一個比

原创 前端常用的幾種跨域通信方式實踐:jsonp&cors&postMessage

什麼是“ 前端 ”“ 跨域 ” ? 常見跨域方式有這麼幾種:jsonp、cors,iframe+domain跨域、以及nginx反向代理,還有就是postMessage。 相比之“基於”前端的其餘幾種方法,iframe+domai

原创 vue項目實戰之圖片畫廊組件的實現

前言 筆者曾經寫過不少或原生的、或封裝的第三方插件的組件,總結來說,並不是所有東西都用原生,自定義的纔是好的。很多插件做的也是不錯的。就比如筆者今天所用的這個插件:vue-awesome-swiper ——這個還是很強的【輪播圖】

原创 高效前端優化實踐:Ajax請求優化新體驗

說起來ajax,相信諸位都不會陌生 —— 這可是當下前端最火的技術之一。 ajax請求數據,將數據拿到前端頁面上,通過一定手段展示給用戶,造成“不必刷新頁面”的局部數據刷新。這是ajax最主要的功能。 一直以來使用ajax都是“橫

原创 自學網絡協議(七):HTTPS的七次握手和九倍延時

HTTP已經慢慢淡化在互聯網協議中的作用。 因爲其作爲應用層協議,本身只是用於傳輸超文本的網絡協議,而不會提供任何安全上的保證 —— 這也使得【竊聽】和【中間人攻擊】成爲可能。 HTTP的不足導致了HTTPS的產生 —— 採用 安

原创 CSS世界Bug般的存在——字母x與“居中”

字母x ? 《css世界》中提到:“我們這裏的字母x就是26個英文字母中的x。由於自身形態的一些特殊性,這個小小的不起眼的字母擔當大任,在css世界中扮演了一個重要的角色。” 筆者在這兩天寫一個項目中遇到了“居中”的困惑:我

原创 Web安全終彈:兩個“特別的”安全策略

前面,筆者寫了兩篇關於web安全的文章,裏面對兩種安全策略進行分析的同時還簡介了其餘的安全策略: Web安全:細說前端XSS攻擊與防範 Web安全:細說後端密碼安全防範 最近筆者又碰上了兩個新的web安全策略:同源策略 和 w

原创 微信小程序屬性剖析:wx-key就這麼重要嗎?

今天,就想和各位說說微信小程序中的【臂膀】——wx-key。 毫無疑問,wx-key在微信小程序中可謂是“大出風頭”,這一點尤其在for循環中體現出來。但wx-key的作用,你真的瞭解嗎? 事實上,作爲“唯一標識”,微信小程序

原创 細說UI組件庫中的“開關”

目前,流行的UI組件庫無非cube-ui、elementUI、iview… 一款優秀的組件庫其實現必包含:性能、兼容、適應性等一系列指標。 今天筆者就給各位分析一下項目中常見的一個組件 —— 開關!及其實現。 筆者曾做過一個vu

原创 vue父子組件間引用:$parent、$children

vue中提到【父子組件】,則一定會想到我們常用的父子組件通信:props+$on()、$emit() ,如圖: 也就是說,雖然在一般情況下,子組件是不能引用父組件或者Vue實例的數據,但是對於在開發中出現的“數據需要在組件中來回

原创 前端項目中數據傳遞的幾種“姿勢”

數據傳遞在項目中是個很重要的話題,因爲它牽扯到了一個APP,或者web-app的最重要一步:功能聯動。 絲毫不隱瞞的說,筆者曾經迫切的想要學node.js的動力之一就在於它可以作爲後端去進行數據的處理和傳遞使用。這在之前是不可能單

原创 元芳,你怎麼看CSS中的margin合併?

什麼是margin合併? 塊級元素的上外邊距(通常)與下外邊距有時會合併爲單個外邊距,這樣的現象稱爲“margin合併”。 從定義上,我們可以看出如下兩點: 塊級元素。但不包括浮動(float)和絕對定位(relative)元素

原创 Web安全:細說後端密碼安全防範

上一次筆者寫了一篇關於安全的文章:【Web安全:細說前端XSS攻擊與防範】投石問路,效果還不錯,深受鼓舞。 其實和web相關的安全問題不僅於此,大致有【XSS攻擊】、【前端CSRF攻擊】、【前端cookies問題】、【前端點擊劫持