999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

鄭清 趙迪 孫淑霞

(成都理工大學計算機科學與技術學院,四川成都610059)

1.引言

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

2.瀏覽器兼容問題分析與實現

2.1 兼容問題的產生分析

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

頁面中使用的是JSF<h:dataTable>表格標簽,該標簽下的<h:coloum>標簽創建一列,可以使用多個<h:coloum>標簽。為了使表格顯示的效果比較好看,我們可以用CSS樣式來設置相應的屬性,一般會設置表格的寬度。因為頁面的本身寬度是有限的,在做頁面的時候希望所做的頁面在排版上比較規范,若遇到某一列的內容的寬度超出了所定義的列寬度,就需要換行了。列當中的內容是漢字還是數字或是字符,這一點也會影響到頁面的顯示。

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

2.2 初步解決辦法

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

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

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

在上述代碼中,有一個問題需要注意。rowsOfTable可能是null,也可能是undefined,在這種情況下,若在ready中,findStrLength()函數后還有要執行的函數或語句,那么在火狐瀏覽器中,在findStrLength()后的函數或語句是不會被執行的。因為我們在獲取表格內容的時候沒有去判斷是否存在內容,當遇到表格內容為空或是undefined的時候,執行該函數時就會有錯,系統會自動終止后函數的執行。即使該函數后一個簡單的輸出語句也不會被執行的。為了在火狐瀏覽器中能夠順利執行,需要加入一些判斷,在for循環語句的循環體中加入以下判斷語句(定義innerText變量之前):

continue的作用是結束本次循環,也就是說循環體中在該語句后面的內容就不會被執行。加入上述代碼之后,在火狐下就可以順利運行。這樣當所獲得的表格內容為空時,就會跳出循環,轉去執行循環后面的語句。

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

3.結束語

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

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

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

[3] 孫桂杰.使用CSS制作網頁的幾點經驗[J].中國現代教育裝備.2008(05):55-57.

[4] 李顯萍.CSS樣式繼承性的應用[J].吉林省經濟管理干部學院學報.2009(04):84-86.

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

猜你喜歡
頁面文本
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 一本大道无码日韩精品影视| 美女亚洲一区| 日韩无码视频播放| 综合社区亚洲熟妇p| 日韩一级毛一欧美一国产| 青草91视频免费观看| 中文字幕佐山爱一区二区免费| 中国一级毛片免费观看| 久久无码av三级| 91福利一区二区三区| 国产精品三级专区| 精品少妇人妻一区二区| 三级视频中文字幕| 大陆精大陆国产国语精品1024| 美女视频黄又黄又免费高清| 97国产在线播放| 91色在线观看| 久久久久久久蜜桃| 欧美综合区自拍亚洲综合天堂 | 六月婷婷综合| 国产SUV精品一区二区| 日韩高清欧美| 婷婷成人综合| 欧美激情网址| 久久精品女人天堂aaa| a级毛片免费网站| 成人免费网站在线观看| 精品国产aⅴ一区二区三区| 扒开粉嫩的小缝隙喷白浆视频| 国产三级毛片| 在线精品亚洲一区二区古装| 婷婷99视频精品全部在线观看 | 国产高清无码第一十页在线观看| 欧美一区二区三区欧美日韩亚洲 | 噜噜噜综合亚洲| 婷婷色在线视频| 91亚洲精品第一| 无码福利日韩神码福利片| 天天色天天操综合网| 日韩小视频在线观看| 成人va亚洲va欧美天堂| 国产欧美又粗又猛又爽老| 极品私人尤物在线精品首页| 国产免费a级片| 免费99精品国产自在现线| 午夜综合网| a级高清毛片| 国产精品漂亮美女在线观看| 国产一线在线| 国产精品私拍99pans大尺度| 看av免费毛片手机播放| 在线高清亚洲精品二区| 国产呦精品一区二区三区下载| 久久综合亚洲鲁鲁九月天| 乱人伦99久久| 中文字幕在线日韩91| 精品国产aⅴ一区二区三区| 国产成人亚洲综合A∨在线播放| 激情亚洲天堂| 国产精品视频观看裸模| 91精品最新国内在线播放| 欧美另类精品一区二区三区| 亚洲综合色婷婷| 久久亚洲精少妇毛片午夜无码| 久久久久久午夜精品| 91美女视频在线| 91在线无码精品秘九色APP| 欧美综合在线观看| 久久精品国产999大香线焦| 国产成人在线无码免费视频| 国产精品福利社| 亚洲av无码牛牛影视在线二区| 国产靠逼视频| 亚洲视频免费播放| 中文字幕欧美日韩| 在线观看免费人成视频色快速| 四虎永久免费网站| 99激情网| 中文字幕在线观| 亚卅精品无码久久毛片乌克兰| 国产网站一区二区三区| 欧美第二区|