原创 history api 與 hashchange

window.onpopstate = console.log window.onhashchange = console.log 1. history.pushState({a:1,b:2}, 'title', '/test') //

原创 javascript 筆記

一、函數 1.命名函數表達式 標示符(這裏是函數a)不能在外圍的作用域內有效 var b = function a () { console.log(a) // function } b() console.log(a) //

原创 i18n,國際化翻譯,excel與js互轉

背景 公司開發新產品時,要求適配多國語言,採用i18n國際化工具,但翻譯字典(js的json)還是需要前端自己寫的。字典最終需要轉換成excel給專業人員翻譯,翻譯完成後再轉換成js字典文件。 如果手工轉換,時間花費太多,因此萌生了使用代碼

原创 js base64轉二進制

base64 編碼規則 1、把3個字符變成4個字符。2、每76個字符加一個換行符。3、最後的結束符也要處理。 轉換前 11111101, 11111111, 11111111 (二進制) 轉換後 00111111, 000111

原创 js 大量數據優化,通用方法

當頁面渲染太多標籤時,會出現卡頓的,典型就是類似table數據太多時,非常卡頓。如果選擇分頁,沒必要討論,這兒只討論採用滾動的情況。解決思路很簡單,就是頁面不展示出來的元素,從頁面上刪除掉,最難點在於滾動條的處理,這兒分享一些細節思路,以上

原创 nat 類型及打洞原理

nat 類型分4種 1、全錐形 full cone    A 與 主機B交互,nat轉換 A的內部地址及端口爲  ip1 port1,ip1和port1爲對外地址,任何機器能訪問。 2、ip 受限制(對B而言)           A 與

原创 webrtc 開發之前必須瞭解的東西

1、創建offer的時候帶上參數:{ offerToReceiveAudio: true, offerToReceiveVideo: true } 2、onicecandidate 必須寫在 setLocalDescription 之前,因

原创 javascript,排列組合

輸入參數 ‘abc',輸出所有組合 ['abc','acb','bac','bca','cab','cba'] 思路:分爲3列,第一列爲  a, b,c ;第二列爲a,b,c出去第一列選中過後的,比如第一列選了a,第二列就爲b,c。以此類推

原创 純前端導出pdf文件

純前端js導出pdf,已經用於生產環境。 工具: 1、html2canvas,一種讓html轉換爲圖片的工具。   2、pdfmake或者jspdf ,一種生成、編輯pdf,並且導出pdf的工具。   pdfmake:http://pdfm

原创 nginx 常用的location rewrite proxy_pass

location 以 = 開頭,表示精確匹配;如只匹配根目錄結尾的請求,後面不能帶任何字符串。 以^~ 開頭,表示uri以某個常規字符串開頭,如果匹配到,則不繼續往下匹配。不是正則匹配 以~ 開頭,表示區分大小寫的正則匹配; 以~* 開頭,

原创 vue computed 原理

vue computed 主要依靠數據依賴來更新,這裏不展示computed源代碼,只展示核心思想。 computed: { a(){ return this.b ++ } } data:{ b:

原创 nginx 一個端口布署多個單頁應用(history路由模式)。

目前web開發 使用一般前後端分離技術,並且前端負責路由。爲了美觀,會採用前端會採用h5 history 模式的路由。但刷新頁面時,前端真的會按照假路由去後端尋找文件。此時,後端必須返回index(index.html)文件才不至於返回40

原创 vue響應式原理,去掉優化,只看核心

Vue響應式原理 作爲寫業務的碼農,幾乎不必知道原理。但是當你去找工作的時候,可是需要造原子彈的,什麼都得知道一些才行。所以找工作之前可以先複習下,只要是關於vue的,必定會問響應式原理。 核心: //es5 Object.definePr

原创 html, js,css應用文件路徑規則

web前端一般常用文件 .html .css .js。但是當用css文件和html引入資源(比如圖片)時,路徑可能不相同。下面總結了幾條。 使用相對路徑引入規則: html或者js引入圖片,按照html的目錄來算 css引入圖片,按照cs

原创 nginx location rewrite常用詳解

location 以 = 開頭,表示精確匹配;如只匹配根目錄結尾的請求,後面不能帶任何字符串。以^~ 開頭,表示uri以某個常規字符串開頭,如果匹配到,則不繼續往下匹配。不是正則匹配以~ 開頭,表示區分大小寫的正則匹配;以~* 開頭,表示不