亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        瀏覽器兼容問題的初步解決方法

        2012-03-27 06:56:22鄭清趙迪孫淑霞
        電腦與電信 2012年5期
        關(guān)鍵詞:頁面文本

        鄭清 趙迪 孫淑霞

        (成都理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川成都610059)

        1.引言

        網(wǎng)頁設(shè)計(jì)遇到最大的麻煩之一莫過于不同瀏覽器的兼容性問題了。所謂瀏覽器兼容問題,是指不同的瀏覽器對同一段代碼有不同的解析,造成頁面顯示效果不統(tǒng)一的情況。在一般情況下,我們的需求是,無論用戶用什么瀏覽器來查看我們的頁面或是登陸我們的系統(tǒng),都應(yīng)該是統(tǒng)一的效果。用什么方法可以有效解決瀏覽器兼容問題呢?可能很多人會(huì)認(rèn)為可以使用CSSHack技巧,運(yùn)用這種技巧后,在定義一個(gè)class時(shí)就會(huì)根據(jù)不同的瀏覽器,對同一種屬性做多次定義。通過這種做法能夠滿足不同瀏覽器的需求,但是在代碼上看起來就比較繁瑣。遇到用普通的CSS樣式解決不了的問題時(shí),我比較喜歡用js函數(shù)來解決,這樣既可以不讓代碼看上起那么繁瑣,也可以鍛煉自己的編程能力。

        2.瀏覽器兼容問題分析與實(shí)現(xiàn)

        2.1 兼容問題的產(chǎn)生分析

        在做頁面調(diào)試時(shí),有的時(shí)候在IE中顯示正常,但是放在火狐瀏覽器中就不能換正常顯示。遇到這種問題我們大多數(shù)人的第一反應(yīng)就是CSS樣式的問題,我們就會(huì)針對CSS樣式來做修改,很多時(shí)候這會(huì)耗費(fèi)大量的時(shí)間,可能最后得到的效果并不是十分的滿意或是根本沒有解決問題。在工作中,曾遇到這樣一個(gè)問題,表格中顯示的文本是非漢字的文本,在火狐瀏覽器中文本換行就出現(xiàn)問題,當(dāng)遇到一個(gè)單詞的長度超過所定義的列寬時(shí),就會(huì)將整個(gè)表格撐開。下面就對這樣問題做一下詳細(xì)的表述。

        頁面中使用的是JSF<h:dataTable>表格標(biāo)簽,該標(biāo)簽下的<h:coloum>標(biāo)簽創(chuàng)建一列,可以使用多個(gè)<h:coloum>標(biāo)簽。為了使表格顯示的效果比較好看,我們可以用CSS樣式來設(shè)置相應(yīng)的屬性,一般會(huì)設(shè)置表格的寬度。因?yàn)轫撁娴谋旧韺挾仁怯邢薜模谧鲰撁娴臅r(shí)候希望所做的頁面在排版上比較規(guī)范,若遇到某一列的內(nèi)容的寬度超出了所定義的列寬度,就需要換行了。列當(dāng)中的內(nèi)容是漢字還是數(shù)字或是字符,這一點(diǎn)也會(huì)影響到頁面的顯示。

        對于漢字的換行來說比非漢字的換行在實(shí)現(xiàn)方面要簡單。此處以列內(nèi)容為非漢字的表格做說明。在IE瀏覽器中,我們需要在<h:dataTable>標(biāo)簽中加入一些屬性,style=”table-layout:fixed;”,然后在相應(yīng)的列中,添加以下屬性word-break:break-all;word-wrap:break-word;將word-break屬性設(shè)為break-all是允許文本行的任意字內(nèi)斷開,word-w rap屬性break-word文本內(nèi)容將在邊界內(nèi)換行,如果需要,詞內(nèi)換行也會(huì)發(fā)生。設(shè)置好這些屬性后,發(fā)現(xiàn)這些屬性只會(huì)在當(dāng)文本行內(nèi)有空格,且當(dāng)前的寬度已超出了這列的寬度時(shí)才會(huì)換行,如果當(dāng)前文本行的寬度已超出所定義的寬度,但是沒有遇到空格符,這種情況下是不會(huì)換行的,這樣就會(huì)將表格撐寬。

        2.2 初步解決辦法

        在CSS樣式解決不了的情況下,就想到用js來實(shí)現(xiàn),假設(shè)表格的第一列的寬度可能會(huì)超出所定義的寬度,js實(shí)現(xiàn)代碼如下:

        用js代碼實(shí)現(xiàn)部分,就是做了一個(gè)截取字符串的操作,如果字符串的長度大于所限定的寬度(假設(shè)此處的最大長度為20),就按照一定的長度來截取字符串,并在每一段截取的字符串的后面加上一個(gè)空格,這樣就能夠保證自動(dòng)換行。在做截取之前,先判斷所用瀏覽器的是否是IE瀏覽器,如果是的話就不需要做這些操作,IE瀏覽器對于這些屬性是支持的。

        2.3 瀏覽器兼容問題最終解決辦法

        在上述代碼中,有一個(gè)問題需要注意。rowsOfTable可能是null,也可能是undefined,在這種情況下,若在ready中,findStrLength()函數(shù)后還有要執(zhí)行的函數(shù)或語句,那么在火狐瀏覽器中,在findStrLength()后的函數(shù)或語句是不會(huì)被執(zhí)行的。因?yàn)槲覀冊讷@取表格內(nèi)容的時(shí)候沒有去判斷是否存在內(nèi)容,當(dāng)遇到表格內(nèi)容為空或是undefined的時(shí)候,執(zhí)行該函數(shù)時(shí)就會(huì)有錯(cuò),系統(tǒng)會(huì)自動(dòng)終止后函數(shù)的執(zhí)行。即使該函數(shù)后一個(gè)簡單的輸出語句也不會(huì)被執(zhí)行的。為了在火狐瀏覽器中能夠順利執(zhí)行,需要加入一些判斷,在for循環(huán)語句的循環(huán)體中加入以下判斷語句(定義innerText變量之前):

        continue的作用是結(jié)束本次循環(huán),也就是說循環(huán)體中在該語句后面的內(nèi)容就不會(huì)被執(zhí)行。加入上述代碼之后,在火狐下就可以順利運(yùn)行。這樣當(dāng)所獲得的表格內(nèi)容為空時(shí),就會(huì)跳出循環(huán),轉(zhuǎn)去執(zhí)行循環(huán)后面的語句。

        以上是對于一個(gè)表格問題的解決方案。其實(shí)關(guān)于表格還有很多其它方面的問題,要使得整個(gè)頁面布局看起來比較舒服,就需要加上一些必要的CSS樣式。我們不能確保這些樣式在不同的瀏覽器之間是否都可以正常顯示,但是可以在出現(xiàn)問題時(shí),尋求各種方式來解決。

        3.結(jié)束語

        現(xiàn)在所有的主流瀏覽器供應(yīng)商重新表示支持W 3C(World WideWeb Consortium)標(biāo)準(zhǔn),而且,這些廠商表示要將標(biāo)準(zhǔn)進(jìn)行到底;正在制定中的W 3C標(biāo)準(zhǔn)比以前更嚴(yán)格,Web創(chuàng)作工具產(chǎn)生的代碼也會(huì)比以前規(guī)范。或許會(huì)人認(rèn)為有了這些標(biāo)準(zhǔn)和規(guī)范,瀏覽器兼容問題就不會(huì)那么令人頭痛了,答案是否定的。部分原因在于不同的瀏覽器提供商對同一標(biāo)準(zhǔn)有不同的認(rèn)識(shí)和解釋,或者瀏覽器設(shè)計(jì)時(shí)原本就沒有嚴(yán)格地符合新標(biāo)準(zhǔn);另外,標(biāo)準(zhǔn)和規(guī)范本身也有不完善的地方,有些規(guī)范或者含糊不清或者對某些功能根本就沒有加以明確;最后一個(gè)原因是,標(biāo)準(zhǔn)發(fā)布得太慢,以至于瀏覽器供應(yīng)商在標(biāo)準(zhǔn)之外進(jìn)行“創(chuàng)新”。所以說解決瀏覽器兼容問題并不是一朝一夕的,在瀏覽器顯示出現(xiàn)問題時(shí),修改CSS樣式達(dá)不到我們所需的要求,那我們就得另辟蹊徑了。

        [1] 趙莎莎,李敏.CSS樣式表與不同的瀏覽器[J].軟件導(dǎo)刊.2007(05):67-68.

        [2] 黎亞紅,羅藤.CSS在不同瀏覽器中的兼容性問題淺析[J].岳陽職業(yè)技術(shù)學(xué)院學(xué)報(bào).2008(03):84-86.

        [3] 孫桂杰.使用CSS制作網(wǎng)頁的幾點(diǎn)經(jīng)驗(yàn)[J].中國現(xiàn)代教育裝備.2008(05):55-57.

        [4] 李顯萍.CSS樣式繼承性的應(yīng)用[J].吉林省經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào).2009(04):84-86.

        [5] 鞏恩偉.CSS在瀏覽器中的兼容性及使用技巧[J].電腦知識(shí)與技術(shù).2009(06):1413-1414.

        猜你喜歡
        頁面文本
        微信群聊總是找不到,打開這個(gè)開關(guān)就好了
        大狗熊在睡覺
        刷新生活的頁面
        初中群文閱讀的文本選擇及組織
        甘肅教育(2020年8期)2020-06-11 06:10:02
        在808DA上文本顯示的改善
        基于doc2vec和TF-IDF的相似文本識(shí)別
        電子制作(2018年18期)2018-11-14 01:48:06
        文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
        論《柳毅傳》對前代文本的繼承與轉(zhuǎn)化
        人間(2015年20期)2016-01-04 12:47:10
        如何快速走進(jìn)文本
        同一Word文檔 縱橫頁面并存
        狠狠色噜噜狠狠狠狠97俺也去| 777亚洲精品乱码久久久久久| 欧洲熟妇色xxxx欧美老妇多毛网站| 亚洲区日韩精品中文字幕| 精品一区二区三区不老少妇| 亚洲成人av在线蜜桃| 国产福利视频在线观看| 岛国AV一区二区三区在线观看| 中文字幕日韩人妻高清在线| av在线高清观看亚洲| 国产精品美女久久久久av超清| 996久久国产精品线观看| 人妻av午夜综合福利视频| 国产精品一区二区熟女不卡| 中文字幕乱码无码人妻系列蜜桃| 特级毛片a级毛片在线播放www| 欧美熟妇与小伙性欧美交| 国产精品自产拍在线18禁 | 午夜理论片yy44880影院| 久久中文字幕av一区二区不卡| 精品国产成人一区二区不卡在线| 亚洲丝袜美腿在线视频| 护士人妻hd中文字幕| 国产女高清在线看免费观看| 日韩精品自拍一区二区| 999精品无码a片在线1级| 成人免费毛片内射美女-百度| 久久99久久99精品观看| 精品国产一区二区三区性色| 最新国产福利在线观看精品| 最新亚洲人成网站在线| 久久人妻精品中文字幕一区二区| 免费无码专区毛片高潮喷水| 激情 人妻 制服 丝袜| 欧美精品一本久久男人的天堂| 美女脱了内裤洗澡视频| 永久黄网站免费视频性色| 久久中文字幕无码一区二区| 亚洲男人的天堂色偷偷| 偷看农村妇女牲交| japanese无码中文字幕|