[發明專利]用于CSS沖突的自動檢測的方法和系統有效
| 申請號: | 201310263958.5 | 申請日: | 2013-06-28 |
| 公開(公告)號: | CN104252412B | 公開(公告)日: | 2017-12-29 |
| 發明(設計)人: | 王沛;阮奇;費伽;朱小文;胡曠 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所11038 | 代理人: | 吳信剛 |
| 地址: | 美國*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 css 沖突 自動檢測 方法 系統 | ||
技術領域
本發明涉及層疊樣式表,更具體地說,本發明涉及一種用于CSS沖突的自動檢測的方法和系統。
背景技術
層疊樣式表(Cascading Style Sheet,CSS)是一種用來表現HTML或XML等文件樣式的計算機語言。CSS是目前能夠真正做到網頁表現與內容分離的一種樣式設計語言,其中用HTML或XML等規定內容并且用CSS規定該內容的網頁中的表現形式。相對于傳統HTML的表現而言,CSS能夠對網頁中的對象的位置排版進行像素級的精確控制。
層疊樣式表定義如何顯示HTML或XML的元素,就像HTML的字體標簽和顏色屬性所起的作用那樣。樣式通常保存在外部的.css文件中(例如,外部樣式表)。通過僅僅編輯一個簡單的CSS文檔,外部樣式表使得能夠同時改變站點中所有頁面的布局和外觀。由于允許同時控制多重頁面的樣式和布局,層疊樣式表可以稱得上WEB設計領域的一個突破。作為網站開發者,能夠為每個HTML元素定義樣式,并將之應用于希望的任意多的頁面中。如需進行全局的更新,只需簡單地改變樣式,然后網站中的所有元素均會自動地更新。
層疊樣式表允許以多種方式規定樣式信息。樣式可以規定在單個的HTML元素中,在HTML頁的頭元素中,或在一個外部的CSS文件中。甚至可以在同一個HTML文檔內部引用多個外部樣式表。一般而言,所有的樣式會按照下面的優先順序層疊于一個新的虛擬樣式表中(優先級逐漸升高):瀏覽器缺省設置、外部樣式表、內部樣式表(位于<head>標簽內部)、內聯樣式(在HTML元素內部)。這里,內聯樣式(在HTML元素內部)擁有最高的優先級,這意味著當同時存在時它將優先于以下的樣式聲明:<head>標簽中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。
在HTML頁面中,小部件(widget)的外觀由與小部件庫一起交付的一組CSS來定義和調整。然而,當把一個小部件放入存在更高優先級的CSS的復雜頁面環境中時,該小部件的CSS可能被意外地覆蓋(override),從而小部件的原本外觀被破壞,有時候甚至功能也受到破壞。在本文中,這種原本的CSS被意外覆蓋的情況被稱為CSS沖突。
出現CSS沖突是由于以下原因:1)應用或頁面開發者與小部件開發者通常是不同的人。頁面開發者沒有完全理解小部件的內部邏輯,從而不能夠避免覆蓋小部件的CSS;以及2)HTML具有動態性質,CSS覆蓋在運行時發生,所以難以在編寫時檢測到該覆蓋。
在現有技術中,當在運行時小部件的外觀被破壞后,開發者才會意識到存在CSS沖突,并且需要人工排查代碼來找到引起沖突的CSS規則從而消除CSS沖突。當頁面環境復雜時,這是非常費時費力的工作。
發明內容
為了解決上述的技術問題,期望提供一種方法和系統,其能夠自動地檢測小部件的CSS沖突,并且報告導致CSS沖突的CSS規則和該CSS規則所影響的小部件特性。
根據本發明的一個方面,提供了一種用于CSS沖突的自動檢測的方法,該方法包括:接收小部件的開發者定義的至少一個用戶界面約束和至少一個第一CSS規則、以及小部件的用戶自定義的至少一個第二CSS規則,所述用戶界面約束用于約束所述小部件的用戶界面;運行包含所述小部件的頁面;基于所述頁面的運行的結果,針對每個用戶界面約束進行自動驗證;以及響應于所述驗證得出一個用戶界面約束被違反,在由覆蓋了第一CSS規則的第二CSS規則組成的第一集合中找出導致違反該用戶界面約束的一個或多個第二CSS規則。
根據本發明的另一個方面,提供了一種用于CSS沖突的自動檢測的系統,該系統包括:接收裝置,被配置為接收小部件的開發者定義的至少一個用戶界面約束和至少一個第一CSS規則、以及小部件的用戶自定義的至少一個第二CSS規則,所述用戶界面約束用于約束所述小部件的用戶界面;運行裝置,被配置為運行包含所述小部件的頁面;驗證裝置,被配置為基于所述頁面的運行的結果,針對每個用戶界面約束進行自動驗證;以及沖突源檢測裝置,響應于所述驗證得出一個用戶界面約束被違反,在由覆蓋了第一CSS規則的第二CSS規則組成的第一集合中找出導致違反該用戶界面約束的一個或多個第二CSS規則。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310263958.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:自動化二次校平鋼板剪切生產線
- 下一篇:一種基于太陽能供電的樓宇外墻照明系統





