鍍金池/ 問答/HTML5  HTML/ 關(guān)于瀏覽器兼容性的問題?

關(guān)于瀏覽器兼容性的問題?

目前市面上瀏覽器版本五花八門,也有各種各樣的兼容性問題。那么統(tǒng)一更新到最新瀏覽器(假設(shè))如chrome,真的可以解決兼容性問題嗎?我想有很大部分原因還是因為操作系統(tǒng)版本的原因吧?畢竟XP還有很大的市場。

回答
編輯回答
撿肥皂

也要看你的應(yīng)用面對的用戶,國內(nèi)的情況比較復(fù)雜,面向全國用戶(老機器、老人)的應(yīng)用考慮就要全面一些,有些應(yīng)用面對專業(yè)人員(后臺管理、服務(wù)器管理)

2017年8月8日 20:25
編輯回答
耍太極

如果是大一統(tǒng),無論是用 Webkit 內(nèi)核還是 Trident 內(nèi)核還是什么內(nèi)核,都不存在兼容問題了。只有不同才需要兼容,大家都統(tǒng)一標(biāo)準(zhǔn),哪還需要什么兼容。

目前瀏覽器兼容問題,不同系統(tǒng)有影響,但影響不是怎么大。比如說 HTTPS 證書兼容性問題,IE瀏覽器受 Winows 系統(tǒng)版本影響,但 Firefox 和 Chrome 就不受影響。

其實現(xiàn)在市場上的瀏覽器五花八門影響并不大,因為國產(chǎn)瀏覽器幾乎都沒有自己的內(nèi)核,都是用 Chromium 項目的內(nèi)核(極速模式)和 IE 內(nèi)核(IE模式),而且還允許通過 meta 標(biāo)簽令其默認(rèn)使用 Chromium 內(nèi)核。

基本上只要兼容了 Chrome 瀏覽器,就兼容了國內(nèi)幾乎所有主要的瀏覽器。當(dāng)然了,這里并不是指跟 Chrome 同步更新,各國產(chǎn)瀏覽器內(nèi)核更新時間不一樣,有的比較慢,但是只要不是追求最新的特性,基本上可以說是同步。

強制Chromium內(nèi)核,作用于360瀏覽器、QQ瀏覽器等國產(chǎn)雙核瀏覽器:
<meta name="renderer" content="webkit"/>

強制Chromium內(nèi)核,作用于其他雙核瀏覽器:
<meta name="force-rendering" content="webkit"/>

如果有安裝 Google Chrome Frame 插件則強制為Chromium內(nèi)核,否則強制本機支持的最高版本IE內(nèi)核,作用于IE瀏覽器:
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>

參考資料:
百度經(jīng)驗-通過meta代碼強制瀏覽器使用WebKit內(nèi)核
360瀏覽器-瀏覽器內(nèi)核控制標(biāo)簽meta說明
QQ瀏覽器-meta元素檢測 識別內(nèi)核 規(guī)則介紹

2017年6月20日 18:30
編輯回答
孤影

統(tǒng)一更新到最新的 Chrome 并不能”解決兼容性問題“。因為所謂兼容性問題并不是指“別人都跟 Chrome 不一樣”,而是有一個統(tǒng)一的規(guī)范,但各個瀏覽器實現(xiàn)不同,Chrome 也是其中之一,并且 Chrome 也并沒有實現(xiàn)全部最新的規(guī)范。

要在前端開發(fā)中盡量解決兼容問題,可以使用一些成熟的工具,比如用于處理 js 的 babel(babel-preset-env) 和用于處理 css 的 postcss(autoprefixer)。它們的最新版本已經(jīng)支持只需指定想要兼容的瀏覽器版本,就可以自動將你的代碼為這些瀏覽器做兼容。建議你了解一下。

如果你真的想要用戶們“統(tǒng)一更新到最新的 Chrome",你可以了解下 Eletron,用它來開發(fā)的前端項目都內(nèi)置了最新版本的 Chrome,因此開發(fā)中可以完全針對 Chrome 環(huán)境來開發(fā)。

希望對你有幫助。

2017年4月9日 15:19