Javascript中如何解決瀏覽器兼容問題,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了烏蘇免費(fèi)建站歡迎大家使用!
Javascript解決常見瀏覽器兼容問題方案
1.自動(dòng)匹配高度
自從我們拋棄了基于Table的頁面布局后,創(chuàng)建同等高度欄目或內(nèi)容盒子的視覺效果已然是一個(gè)挑戰(zhàn)。
1.1用jQuery設(shè)置匹配高度
這個(gè)jQuery插件在同一個(gè)容器里“平衡”盒子的高度并創(chuàng)造一個(gè)簡介的網(wǎng)格——幾乎從可用性和性能的角度使用簡單的JavaScript替代:equalHeights()函數(shù)測定一個(gè)容器里的所有同級(jí)元素同容器的高度,然后設(shè)置每個(gè)元素的***高度為***的元素的高度。
如何工作
equalHeights()通過循環(huán)測定指定元素的***級(jí)別的子節(jié)點(diǎn),然后設(shè)置他們的最小高度值為***的元素的高度。
1.2用jQuery匹配欄目高度
jQuery的另一個(gè)可以使盒子的高度相等的插件
$(“#col1,#col2″).equalizeCols();
將如你所想的那樣匹配高度
$(“#col1,#col2″).equalizeCols(“p,p”);
匹配這兩卷,并在#col1或#col2(短的那個(gè))里的P標(biāo)簽后面添加空白.
2.IE6PNG透明支持
IE6以下的版本不支持png透明。使用hack,IE5.5和6也已經(jīng)可以支持,但hack并不理想的且難以使用。讓我們來看看我們能做些什么來支持IE6用戶,同時(shí)為網(wǎng)站的大多數(shù)訪客帶來***的透明效果。
2.1強(qiáng)制IE6支持透明
IE7的是一個(gè)DeanEdwards建立的JavaScript庫,以強(qiáng)迫MSIE(IE6,IE5)表現(xiàn)的像一個(gè)兼容標(biāo)準(zhǔn)的瀏覽器。它修復(fù)許多CSS問題并使透明PNG在IE6和IE5下正常工作,它還允許高級(jí)的CSS選擇器。
2.2.改良iFixPng
修正IE6及以下的PNG圖片的問題,IMG標(biāo)簽和CSS背景圖片都可以。這個(gè)插件是對(duì)原始iFixPng插件的一種改進(jìn)。特點(diǎn)包括:圖像或有背景圖片的標(biāo)簽,現(xiàn)在支持background-position,其中包括IE瀏覽器的絕對(duì)定位的修正。(bottom:-1px||bottom:0px)
3.用Javascript改變class
這是一個(gè)方便的JavaScript函數(shù),可以在當(dāng)前的文件的任何元素的class由oldClass改為newClass。這是特別有用的快速的利用CSS而不是用編碼改變風(fēng)格。
functionchangeClass(oldClass,newClass){ varelements=document.getElementsByTagName(“*”); for(i=0;i<elements.length;i++){ if(elements[i].className==oldClass)elements[i].className=newClass; } }
4.CSS瀏覽器選擇器
如果您可以只需鍵入一個(gè)特殊選擇器,在這里您可以寫一些JavaScript,設(shè)置一個(gè)Class在基于當(dāng)前的瀏覽器兼容的名字的標(biāo)簽會(huì)怎么樣?
4.1CSSBrowser
這是一個(gè)非常小的javascript只有一行,而且不到1kb,它允許CSS選擇器。它讓您可以為每個(gè)操作系統(tǒng)和每個(gè)瀏覽器寫具體的CSS代碼。你可以寫一些JavaScript,設(shè)置Class的名字,也就是說,內(nèi)容根據(jù)當(dāng)前的瀏覽器。
jQuery瀏覽器選擇器
這里有另外一個(gè)基于jQuery的非常簡單的處理瀏覽器選擇器的方法,你需要做的只是加載jQuery庫文件,并添加下面的一塊兒代碼。
$(document).ready(function(){ $(‘html’).addClass($.browser); });
現(xiàn)在你可以準(zhǔn)備你的樣式,如.msie,.mozilla,.opera,.safari或其它目標(biāo)瀏覽器兼容。
5.最小/***高度/寬度支持
針對(duì)CSSmin-width,min-height,max-width,max-height,border-*-width,margin,和padding屬性,這里有一些很好的jQuery修正。
5.1jQMinMax
這是一個(gè)為沒有原聲的支持min-width,max-width,min-height和max-height的地方添加支持的jQuery插件。
5.2JSizes
這個(gè)小jQuery插件為CSSmin-width,min-height,max-width,max-height,border-*-width,margin,和padding屬性添加支持。特別是他提供一種方法來確定一個(gè)元素在那里可見。由于所有的型號(hào)的方法返回?cái)?shù)值,所以這些也可以安全的使用在嚴(yán)格的DOM元素方面。
jQuery(function($){ varmyDiv=$(‘#myDiv’); //setmargin-topto100pxandmargin-bottomto10em myDiv.margin({top:100,bottom:‘10em’}); //displaysthesizeofthetopborderinpixels alert(myDiv.border().top); //displaystrueiftheelementisvisible,falseotherwise alert(myDiv.isVisible()); //setpadding-rightto10pxandmargin- leftto15pxusingchaining myDiv.padding({right:10}).margin({left:15}); });
6.元素垂直/水平居中
你可能之前遇到過這個(gè)問題:水平或垂直居中某個(gè)元素。垂直居中在CSS里面相當(dāng)麻煩,特別是你想支持所有主流瀏覽器。
6.1Centerelementplugin
這個(gè)插件可以使頁面中的所有元素居中,垂直和水平居中采用css負(fù)margin的方法。
$(“element”).center();//verticalandhorizontal $(“element”).center({ horizontal:false//onlyvertical });
6.2我是怎么把一個(gè)元素垂直居中的?
在這個(gè)視頻教程里,JeffreyJordanWay將為你展示如何使用jQuery的力量結(jié)合CSS在你的瀏覽器里面使一個(gè)圖片垂直居中.
7.在IE里使用Q標(biāo)簽
人們期望使用的Q標(biāo)簽而不是blockquote標(biāo)簽來顯示引號(hào)。然而IE/Win不支持Q標(biāo)簽,因?yàn)檫@一點(diǎn),大部分網(wǎng)站的作者選擇不使用Q標(biāo)簽。
7.1QinIE
當(dāng)你在你的文件的頭部添加這個(gè)腳本在IE瀏覽器里自動(dòng)掃描的網(wǎng)頁Q的標(biāo)記,并正確的顯示它們(包括嵌套引用)。當(dāng)(如果)IE瀏覽器將來支持Q標(biāo)簽,這個(gè)插件將會(huì)添加瀏覽器版本檢查。
8.增加點(diǎn)擊目標(biāo)的大小和獲得更多的響應(yīng)轉(zhuǎn)換
通過把你的所有內(nèi)容放到一個(gè)可點(diǎn)擊的標(biāo)簽來和單調(diào)的“readmore…”鏈接說拜拜吧。
9.Lazyloader
Lazyloader是一個(gè)jQuery。它可以延遲加載頁面里面的圖片.在用戶瀏覽視界(頁面中可見部分)以外的圖片之前,它將不會(huì)被加載。這和imagepreloading的作用正好相反.
10.bgiframe
輕松的解決IE下的z-index的問題。
11.ieFixButtons
ieFixButtons是一個(gè)修正IE6和7的<button>標(biāo)簽的bug的jquery插件。
12.溢出(overflow)修正
修正ie下的水平溢出。IE在溢出的元素里面顯示一個(gè)滾動(dòng)條,特別是如果元素里面只有一行,滾動(dòng)條就會(huì)遮住這行內(nèi)容。這個(gè)插件通過修改padding來修正這個(gè)問題。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
分享名稱:Javascript中如何解決瀏覽器兼容問題
URL分享:http://muchs.cn/article4/pjjgoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、企業(yè)建站、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、App開發(fā)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)