10個(gè)容易忽視的前端兼容問(wèn)題

1

在ios8系統(tǒng)中福压,用h5與APP通信不能傳帶有復(fù)雜鏈接符的字符串仿村。

在移動(dòng)端開(kāi)發(fā)中锐朴,經(jīng)常需要h5與APP進(jìn)行交互。這時(shí)就需要前端和APP開(kāi)發(fā)人員雙方規(guī)定一種傳輸協(xié)議蔼囊。在協(xié)議中可以添加與APP交互需要的參數(shù)焚志。但是在IOS8系統(tǒng)中衣迷,不支持參數(shù)中有復(fù)雜鏈接符,比如JSON格式的字符串酱酬、&等等壶谒。目前為止,下劃線是唯一支持的連接符膳沽。

2

safari中偽元素不支持CSS3動(dòng)畫(huà)佃迄。

在項(xiàng)目中肯定有很多前端開(kāi)發(fā)人員使用css的偽元素屬性進(jìn)行頁(yè)面構(gòu)建。雖然這種方式很方便贵少,但是在safari中并不支持偽元素的CSS3動(dòng)畫(huà)效果。

3

safari中當(dāng)一個(gè)元素的高度為零時(shí)堆缘,下邊的同級(jí)元素的上外邊距會(huì)覆蓋這個(gè)元素滔灶。

在IE、chromet吼肥、FF中录平,即使一個(gè)元素的高度為0,也會(huì)把它當(dāng)作塊級(jí)元素看待缀皱,在頁(yè)面中占據(jù)相應(yīng)的位置斗这。但是在safari中,高度為0的元素會(huì)被直接忽略啤斗。

4

ios系統(tǒng)中在移動(dòng)瀏覽器的頁(yè)面中給按鈕加JS事件表箭,其按鈕必須是原生HTML按鈕或者由標(biāo)簽自定義構(gòu)成。

這個(gè)問(wèn)題當(dāng)時(shí)困擾了小編很久钮莲,經(jīng)過(guò)一番盤(pán)查免钻,終于解決。原來(lái)在IOS系統(tǒng)中崔拥,瀏覽器只支持給原生HTML按鈕或標(biāo)簽加JS事件极舔。

5

在移動(dòng)瀏覽器中給根元素(例如:html)添加overflow:hidden,只有在某些安卓自帶瀏覽器(例如華為的自帶瀏覽器)中才有效链瓦。

overflow:hidden這個(gè)CSS樣式是大家常用到的拆魏。大家用這個(gè)樣式可以實(shí)現(xiàn)很多目的。其中一個(gè)常用的就是隱藏內(nèi)容溢出慈俯,把瀏覽器的滾動(dòng)條隱藏渤刃。這個(gè)在PC端瀏覽中毫無(wú)問(wèn)題。但是除了少數(shù)安卓自帶瀏覽器肥卡,在大多數(shù)移動(dòng)瀏覽器中溪掀,給根元素(例如:html)添加這個(gè)樣式就會(huì)失效。除非給根元素同時(shí)添加有實(shí)際數(shù)值的高度步鉴。為了適應(yīng)移動(dòng)端頻幕的多種尺寸揪胃,只能運(yùn)用JS動(dòng)態(tài)獲取視窗的高度璃哟,然后給根元素設(shè)置相同的高度,方可把移動(dòng)瀏覽器的滾動(dòng)條隱藏喊递。

6

在某些安卓系統(tǒng)手機(jī)自帶瀏覽器(例如:華為手機(jī))中随闪,當(dāng)父級(jí)元素是彈性盒子布局時(shí)(含有-webkit-box-flex屬性),其子元素的margin-bottom失效骚勘,不能撐開(kāi)父級(jí)元素铐伴。

這個(gè)問(wèn)題是小編在某個(gè)移動(dòng)項(xiàng)目開(kāi)發(fā)中碰到的。直接將外邊距(margin)改為內(nèi)邊距(padding)就可解決俏讹。

7

在safair中使用Date.parse()解析時(shí)間字符串当宴,其格式必須是YYYY/MM/DD HH:MM:SS。

Date.parse() 方法解析一個(gè)表示某個(gè)日期的字符串泽疆,并返回從1970-1-1 00:00:00 UTC 到該日期對(duì)象(該日期對(duì)象的UTC時(shí)間)的毫秒數(shù)户矢,如果該字符串無(wú)法識(shí)別,或者一些情況下殉疼,包含了不合法的日期數(shù)值(如:2015-02-31)梯浪,則返回值為NaN。

上述是JavaScript 參考文檔的說(shuō)明瓢娜。嚴(yán)格來(lái)說(shuō)挂洛,其解析的時(shí)間字符串必須是YYYY/MM/DD HH:MM:SS。但是眠砾,在IE虏劲、chrome、FF中荠藤,也可以解析YYYY-MM-DD HH:MM:SS或者YYYY.MM.DD HH:MM:SS這兩種非標(biāo)準(zhǔn)格式的時(shí)間字符串伙单。而safari只能解析標(biāo)準(zhǔn)格式。因此哈肖,開(kāi)發(fā)人員在使用這個(gè)方法時(shí)吻育,最好先把非標(biāo)準(zhǔn)格式轉(zhuǎn)換成標(biāo)準(zhǔn)格式,這樣就可以避免兼容問(wèn)題淤井。

8

在IOS系統(tǒng)中H5播放器不支持自動(dòng)播放布疼。

在iphone和ipad上用HTML5播放器時(shí),不能自動(dòng)播放币狠,apple的解釋說(shuō)是為用戶節(jié)省流量游两,我覺(jué)得這個(gè)考慮有點(diǎn)多余。

當(dāng)時(shí)為了解決這個(gè)問(wèn)題漩绵,做了些調(diào)研贱案,最好的方法就是在IOS系統(tǒng)的瀏覽器中給頁(yè)面根元素綁定一次touchstart事件播放流媒體文件,模擬自動(dòng)播放止吐。

9

標(biāo)準(zhǔn)瀏覽器是只認(rèn)識(shí)documentElement.scrollTop的宝踪,但chrome卻不認(rèn)識(shí)這個(gè)侨糟,在有文檔聲明時(shí),chrome也只認(rèn)識(shí)document.body.scrollTop瘩燥。

document.body.scrollTop與document.documentElement.scrollTop兩者有個(gè)特點(diǎn)秕重,就是同時(shí)只會(huì)有一個(gè)值生效。比如document.body.scrollTop能取到值的時(shí)候厉膀,document.documentElement.scrollTop就會(huì)始終為0溶耘;反之亦然。所以服鹅,如果要得到網(wǎng)頁(yè)的真正的scrollTop值凳兵,可以這樣:

任選上述其中一種方式都可以解決。

10

我們常說(shuō)的事件處理時(shí)的event屬性企软,在標(biāo)準(zhǔn)瀏覽器其是傳入的留荔,IE下由window.event獲取的。并且獲取目標(biāo)元素的方法也不同澜倦,標(biāo)準(zhǔn)瀏覽器是event.target,而IE下是event.srcElement

具體參考《javascript高級(jí)程序設(shè)計(jì)(第3版)》杰妓,在此不再贅述藻治。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市巷挥,隨后出現(xiàn)的幾起案子桩卵,更是在濱河造成了極大的恐慌,老刑警劉巖倍宾,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雏节,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡高职,警方通過(guò)查閱死者的電腦和手機(jī)钩乍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)怔锌,“玉大人寥粹,你說(shuō)我怎么就攤上這事“T” “怎么了涝涤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)岛杀。 經(jīng)常有香客問(wèn)我阔拳,道長(zhǎng),這世上最難降的妖魔是什么类嗤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任糊肠,我火速辦了婚禮辨宠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘罪针。我一直安慰自己彭羹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布泪酱。 她就那樣靜靜地躺著派殷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪墓阀。 梳的紋絲不亂的頭發(fā)上毡惜,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音斯撮,去河邊找鬼经伙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛勿锅,可吹牛的內(nèi)容都是我干的帕膜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼溢十,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼垮刹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起张弛,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荒典,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后吞鸭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體寺董,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年刻剥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遮咖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡造虏,死狀恐怖盯滚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酗电,我是刑警寧澤魄藕,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站撵术,受9級(jí)特大地震影響背率,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一寝姿、第九天 我趴在偏房一處隱蔽的房頂上張望交排。 院中可真熱鬧,春花似錦饵筑、人聲如沸埃篓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)架专。三九已至,卻和暖如春玄帕,著一層夾襖步出監(jiān)牢的瞬間部脚,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工裤纹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留委刘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓鹰椒,卻偏偏與公主長(zhǎng)得像锡移,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子漆际,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5罩抗? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,486評(píng)論 1 45
  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的钞支。 ??事件茫蛹,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,493評(píng)論 1 11
  • 減肥算是朋友圈里的常見(jiàn)話題了婴洼,每次打開(kāi)一看,要么是老生常談撼嗓、新瓶舊酒柬采,要么直接捏住鼻子灌雞湯,擼起袖子打雞血且警,事畢...
    千光一閱讀 4,405評(píng)論 46 93
  • (一個(gè)隨時(shí)可以預(yù)知他人厄運(yùn)的天才沈晾粉捻,一個(gè)耗費(fèi)半生走進(jìn)沈晾心里的旁輝,苦苦掙扎罷了斑芜,無(wú)論是與厄運(yùn)的斗志斗勇肩刃,還是在...
    亓九閱讀 18,761評(píng)論 2 5
  • 密訓(xùn)營(yíng)七天的學(xué)習(xí)說(shuō)長(zhǎng)不長(zhǎng),說(shuō)短也不短,七天的學(xué)習(xí)對(duì)自己來(lái)說(shuō)也是一種挑戰(zhàn)盈包。帶著兩個(gè)孩子和管理著自己的小店沸呐,百忙...
    31bac4390850閱讀 565評(píng)論 0 0