這些問題都是我實際開發中碰到的問題,我想把它們都記錄下來,供自己和他人學習。
1.JavaScript中的Date對象在Safari與IOS中的坑
var date =new Date("2018-07-25 19:25");
這段代碼是獲得字符中指定的日期,它Firefox、Chrome中就能運行,但是放在Safari就會報錯,錯誤是NaN
解決辦法:
//將xxxx-xx-xx的時間格式,轉換為 xxxx/xx/xx的格式
var value = '2018-07-25 19:25';
value = value.replace(/\-/g, "/");
2.禁止圖片點擊放大
部分安卓手機點擊圖片會放大,如需要禁止放大,只需要設置css屬性
img{
pointer-events: none;
}
這個會讓img標簽的點擊事件失效,如果想要給圖片添加點擊事件就要給上面再寫一層
3.禁止頁面縮放
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
這樣設置在ios10系統中是失效的,如果需要禁止ios縮放,下面代碼親測有用
window.onload=function () {
禁止雙擊放大
document.addEventListener('touchstart',function (event) {
if(event.touches.length>1){
event.preventDefault();
}
})
var lastTouchEnd=0;
document.addEventListener('touchend',function (event) {
var now=(new Date()).getTime();
if(now-lastTouchEnd<=300){
event.preventDefault();
}
lastTouchEnd=now;
},false);
禁止手勢放大
document.addEventListener('gesturestart', function (event) {
event.preventDefault();
});
}
4.禁止 iOS 識別長串數字為電話
<meta name="format-detection" content="telephone=no">
5.禁止復制、選中文本
設置CSS屬性 -webkit-user-select:none
6.JS跳轉手機QQ的聊天頁面
Android: URL
mqqwpa://im/chat?chat_type=wpa&uin=your QQ&version=1&src_type=web
iOS: URL:
mqq://im/chat?chat_type=wpa&uin=your QQ&version=1&src_type=web
7.一些情況下對非可點擊元素如(label,span)監聽點擊事件,不會在IOS下觸發,css增加cursor:pointer就搞定了(未測試)
8.上下拉動滾動條時卡頓、慢(未測試)
body {
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
Android3+和iOS5+支持CSS3的新屬性為overflow-scrolling
9.清除button,input,a標簽的默認樣式
a:hover, a:active,button,input:focus{
outline: none;
border: none;
}
未完待續