您好,登錄后才能下訂單哦!
這篇文章給大家介紹JS腳本兼容性問題的解決方法,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
這里和大家分享一下解決JS腳本兼容的幾個(gè)小技巧,關(guān)于JS腳本兼容性我們第一個(gè)要考慮的問題應(yīng)該是運(yùn)行的平臺(tái)是否支持客戶端腳本?通常的做法是將腳本主體包括在一條HTML注釋中。
解決JS腳本兼容的幾個(gè)小技巧
對(duì)于存在JS腳本兼容性的地方,解決方法是針對(duì)不同的平臺(tái)使用不同的特性或是用替代方法實(shí)現(xiàn),這是上策;但總有一些時(shí)候我們用上述方法無法解決時(shí),我們可以看下這個(gè)問題是否嚴(yán)重,如果不嚴(yán)重,那我們就可以忽略它。
1.使用HTML注釋掉腳本
關(guān)于JS腳本兼容性我們***個(gè)要考慮的問題應(yīng)該是運(yùn)行的平臺(tái)是否支持客戶端腳本?通常的做法是將腳本主體包括在一條HTML注釋中:
<scriptlanguagescriptlanguage="javascript"> <!-- document.write(newDate()); //--> </script>
這樣不支持JS腳本的瀏覽器會(huì)忽略<script>和</script>標(biāo)簽并把其他代碼當(dāng)作一條HTML注釋處理,而支持腳本的瀏覽器則把"<!--"這句當(dāng)作一條HTML注釋語句,其他語句正常執(zhí)行,HTML注釋結(jié)尾"-->"用"//"進(jìn)行單行注釋。
2.特性、平臺(tái)檢測(cè)
當(dāng)我們要使用的特性和平臺(tái)有關(guān)時(shí),就得先進(jìn)行檢測(cè)再使用,檢測(cè)的方式有兩種:一種是直接檢測(cè)平臺(tái)是否支持該特性,另一種是檢測(cè)平臺(tái)類型再使用相應(yīng)的特性。代碼如下:
<scriptlanguagescriptlanguage="javascript"> <!-- //a.檢測(cè)是否支持特性 if(s.split){ a=s.split(",");//支持,直接使用 }else{ a=s.mysplit(",");//不支持,使用替代方法 } //b.平臺(tái)檢測(cè) if(navigator.appName.indexOf("Microsoft")!=-1){ //使用IE支持的特性 } //--> </script>
3.替代?忽略?停止?
對(duì)于存在JS腳本兼容性的地方,解決方法是針對(duì)不同的平臺(tái)使用不同的特性或是用替代方法實(shí)現(xiàn),這是上策;但總有一些時(shí)候我們用上述方法無法解決時(shí),我們可以看下這個(gè)問題是否嚴(yán)重,如果不嚴(yán)重,那我們就可以忽略它,比如一個(gè)特性在Netscape2上無效,但現(xiàn)在基本上沒人使用Netscape2了,那我們就忽略它;如果無法解決但問題又比較嚴(yán)重,那我們就應(yīng)停止腳本的運(yùn)行,并明確告訴用戶發(fā)生的問題!
關(guān)于JS腳本兼容性問題的解決方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。