1.input標籤:css
頁面背景圖安卓機上input調起鍵盤css屬性值不能用vh單位(安卓4.4如下不支持vh),input不能是absolute,不然壓縮背景圖或者背景圖不和input一同被頂起。html
input調起鍵盤遮擋輸入框解決辦法:vue
focus函數裏: setTimeout(function(){ let inputOne = $('.input-one') inputOne.scrollIntoView(false) // ios須要設置 inputOne.scrollIntoViewIfNeeded() },200)
2.一些好用第三方插件:ios
h5跳app魔窗mLink.JS: (測試打包測試的app要把短鏈KEY放進去)git
<script src="https://static.mlinks.cc/scripts/dist/mlink.min.js"></script> // 魔窗app喚起 new Mlink({ mlink:'https://ahv8ke.mlinks.cc/ABCD', //短鏈地址,ABCD爲短鏈KEY button:document.querySelector('#btn'), // 某點擊喚起按鈕 params: { schemeurl: encodeURIComponent(''), //傳給app的參數 } })
3.vue組件中css:es6
<style scoped> // Add "scoped" attribute to limit CSS to this component only
4.一些js小技巧:github
Array.prototype.slice.call( arguments ):類數組對象轉 => 數組 === ES6中Array.from( arguments )方法web
Object.prototype.toString.call():檢驗js數據類型,比typeof更嚴謹api
Array.prototype.slice(): copy數組 === es6展開運算符[...arr]數組
5.在微信中打開h5頁面,阻止微信touch默認事件:
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false) // 阻止瀏覽器默認的touch函數方法
可用iscroll.js寫的touch事件
6.Hybrid開發js調用native組件總結:
1.建立全局對象bridge,具備call(調用native方法)和register(可傳callback,託管native某些方法)兩個屬性
2.分別獲取ios或者安卓的bridge(分別用的github上的WebViewJavascriptBridge和jsBridge橋樑)
3.根據環境暴露bridge object,把從ios或者安卓獲取的callHandler和registerHandler傳給全局bridge對象
WebViewJavascriptBridge具體實現方法:
1.iOS可用iframe作請求,url:://native函數名?參數
2..安卓則能夠經過webview.addJavascriptInterface方法把方法注入到window上
調取第三方登陸的過程:
受權網絡標準:OAuth