開發中遇到的相容性問題

2021-06-28 08:32:30 字數 1411 閱讀 4694

我們經常遇到的問題是,別的瀏覽器都相容了,ie也相容了,但是360的相容模式卻不相容,很煞面子,其實這些問題是很容易解決的。兩個個標籤就能讓它灰溜溜跑開。

1、

這個meta標籤的意思是如果瀏覽器有兩個核心,那麼啟用webkit為核心的瀏覽模式(一般為極速模式)。

但是如果只用這乙個meta標籤的話,使用者自動或瀏覽器不小心開啟了相容模式,又會變成不相容的模式,除非使用者重新重新整理頁面。

2、

這個meta標籤的意思是啟用ie的標準版本,意思是如果你開啟了360瀏覽器的相容模式,那這個核心就會根據你機子的ie選擇這個ie版本的標準版本,意思是如果你寫的頁面相容你機子上的ie就會相容你機子上的360相容模式。

3、不快取,便於bug樣式除錯,不快取不相容**

用jquery裡的trim()函式的時候在firefox支援,但是在ie裡不支援

下面是錯誤的寫法

var content = $('#content').val();  

if(content.trim() == '')    

。。。 上面的寫法在firefox下不會報錯,但在ie下會報錯

正確的寫法應該是

var content = $('#content').val();   

if($.trim(content) == '')    

alert('空');   

或者var content = $('#content').val();   

if(jquery.trim(content) == '')    

。。。   

過渡的(transitional):要求非常寬鬆的dtd,它允許你繼續使用html4.01的標識(但是要符合xhtml的寫法)。完整**如下:

嚴格的(strict):要求嚴格的dtd,你不能使用任何表現層的標識和屬性,例如

。完整**如下:

框架的(frameset):專門針對框架頁面設計使用的dtd,如果你的頁面中包含有框架,需要採用這種dtd。完整**如下:

parseint(s);

parseint(s,radix);

對於parseint("01")到parseint("07");都能得到正確的結果(0-7),但如果是parseint("08") 或parseint("09")則返回0;這是為何?

經研究發現parseint當不指定radix時,當以0x開頭時,s按照十六進製制計算的;如果以0開頭且第二位不為x,則s是按照八進位制計算的,因為八進位制不能有8,9所以報錯返回0

parseint("08",10) 或parseint("09",10),將分別返回8和9,

所以,在我們用時還是明確指定進製,以防出錯。

遇到的相容性問題

在chrome瀏覽器下調好的頁面在ie8中執行出現的相容性問題 1 原頁面使用echarts繪製圖形在chrome瀏覽器只引用echarts.js能夠正常顯示,但在ie8下報錯 解決 引入zrender包 packages 繪圖部分 var labeltop 分 textstyle labellin...

piczoom相容性問題 相容性問題

1.文字本身的大小不相容。同樣是font size 14px的宋體文字,在不同瀏覽器下佔的空間是不一樣的,ie下實際佔高16px,下留白3px,ff 下實際佔高17px,上留白1px,下留白3px,opera下就更不一樣了。解決方案 給文字設定 line height 確保所有文字都有預設的 lin...

專案中遇到的相容性問題

1 瀏覽器撥打 問題 場景 使用標籤 tel 協議,一鍵撥打 功能下,正對含有分機號的情況,通常是撥打分機號後需以 結束,或者不識別 解決方案 經查證瀏覽器解析該字元是會進行轉碼成16進製制字元,經實踐,將 字元寫成 23 在使用h5中一鍵撥打 tel 協議時可以正常除。示例 var tel 400...