那些年我踩過的坑(前端開發(fā)疑難雜癥列表附帶解決方案)

不知不覺入坑已經(jīng)兩年了,一下是我平時工作中遇到的坑的積累筆記。在此分享出來,希望對新入行的同學(xué)有所幫助,以后遇到bug會持續(xù)更新。


1.蘋果手機(jī)上,用span模擬按鈕,加上的click事件沒有觸發(fā)。
  • 原因:除了 button 元素,其他元素的樣式要加上 cursor: pointer,才能觸發(fā) iOS 的 click 事件
  • 解決方法:
  1. 設(shè)置樣式:cursor: pointer
  2. 標(biāo)簽改成input\ button\ a
  3. 事件改成touchstart
2.wap上剪切板復(fù)制的區(qū)域不是理想的區(qū)域,

原因:未知
解決:事件委派父級選擇document

3.彈窗和遮罩層層級顯示不正確

原因:定位不同fixed,absolute
解決方法:統(tǒng)一定位方式

4.動態(tài)加載進(jìn)來的元素設(shè)置字體大小和非動態(tài)加載進(jìn)來的相同元素顯示字體大小不一樣,并且font-size設(shè)置的是一樣的
  • 原因:不詳
  • 解決方法:問題元素的父元素設(shè)置固定寬度
5.ios下時間格式問題
time = new Date('2016-08-09 00:00:00').getTime() //拿到的值是NaN
new Date('2016-08-09').getTime() //正常

解決方法:通過php轉(zhuǎn)換成時間戳,或者將'-'改成'/'

  • 原因:ios下不支持'-'格式的時間可以支持'/'
  • 解決方案:改成'yy/mm/dd'
6.元素css3動畫背景顯示異常

做一個請柬的功能,里面有大量的css3動畫,然后在真機(jī)上測試,總會有幾個動畫顯示異常,如動畫結(jié)束后元素背景突然消失、圓邊角突然消失。。。等無法解釋的現(xiàn)象。(其中使用了-webkit-mask-image屬性)

  1. 播放完后背景變白(ios百度瀏覽器,微信瀏覽器)解決方法:精簡動畫
  2. 翻頁錯位(已解決,頁面內(nèi)的元素橫向超出屏幕時左右滑動出現(xiàn)bug,設(shè)置body overflow;hidde解決)
  3. 播放完圖片mask消失(android:UC瀏覽器)
7.滾動fixed定位的導(dǎo)航欄,背景設(shè)置為白色,當(dāng)觸發(fā)fixed定位的時候,在ios下safari顯示背景色透明。
  • 原因:未知。
  • 解決方案:ios下改為touchend再出發(fā)fixed定位判斷,安卓依舊scroll事件
8.ie8遍歷數(shù)組出現(xiàn)意想不到的結(jié)果。
  • 原因:遍歷data時在方法中同時對data進(jìn)行了刪一個,加一個屬性,ie8一下會對修改的屬性進(jìn)行遍歷所以遍歷次數(shù)多一次,而其他瀏覽器只是遍歷each前的屬性數(shù)量。
  • 解決方案:深度復(fù)制data為data2,each data2而修改data
9.audio ios下不能自動播放
  • 原因:由于 iOS Safari 限制不允許 audio autoplay, 必須用戶主動交互(例如 click)后才能播放 audio, 因此我們通過一個用戶交互事件來主動 play 一下 audio.(ios保護(hù)策略)
  • 解決方案:js事件觸發(fā),模擬觸發(fā),要模擬用戶事件才會觸發(fā)
10.ie8-登錄驗(yàn)證碼發(fā)送失敗的問題
  • 原因:低版本ie中數(shù)組不能使用indexOf方法
  • 解決方案:將數(shù)組變成字符串在用indexOf方法
11.ie9 ajax不發(fā)送,顯示拒絕訪問
  • 原因:低版本ie中認(rèn)為bj.XXX.com.cnwww.XXX.com.cn是跨域,故獲取不到數(shù)據(jù)
  • 解決方案:網(wǎng)站地址代理(jsonp)
12.原生js設(shè)置樣式失敗
 node.style = 'XXX=XXX;XXX=XXX';
  • 原因:兼容性問題,手機(jī)上不生效,pc端生效
  • 解決方案:需要單個屬性單個寫
13.mac電腦上,輸入框內(nèi)容不垂直居中。

網(wǎng)上說去掉高度,使用padding,然后并沒有效果,最后發(fā)現(xiàn)是line-height的原因

  • 原因:不詳
  • 解決方案:line-height不可設(shè)置成px,直接設(shè)置成line-height:1.5即可
14.select2搜索框配合bootstrap模態(tài)框使用時無法聚焦的bug
  • 原因:是因?yàn)槟B(tài)框帶有強(qiáng)制聚焦的函數(shù)
  • 解決方案:去掉強(qiáng)制聚焦的函數(shù)

$.fn.modal.Constructor.prototype.enforceFocus = function () { }

15.webUploaders 解決圖片不能重復(fù)上傳的問題

http://blog.csdn.net/qq_20910089/article/details/50378041
添加參數(shù):
duplicate :true

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容