svg流程設計器跨瀏覽器的首選


以前在IE盛行,微軟一家獨大的時候,web繪圖功能首選就是VML,IE5.0以上的版本都支持VML,VML可以在IE中通過文本的方式繪制矢量圖像,類似在html頁面中實現了畫筆的功能,所以被很多人采用來實現web流程設計器。

隨着手機,ipad等各種移動設備的升級,越來越多的應用要求支持這些移動設備。很可惜VML只支持IE,手機和ipad大部分是chrome和safari,不支持VML,web繪制流程圖的功能,要實現跨瀏覽器,必須采用別的技術。

svg是Scapable Vector Graphics,可縮放的矢量圖像,是互聯網聯盟W3C推薦的標准,符合XML節點的規則,用XML來描述二維圖像的語言。和VML類似,都是用文本來描述二維圖像的語言,並且SVG是W3C的標准,幾乎所有瀏覽器都支持,但是IE5-IE8又有特殊了,需要下載adobe的SVGView插件才能查看。

為了兼容已經用VML做好的繪圖功能,並且兼容用IE的客戶,所以我們在實現web流程設計器的繪圖功能時,需要根據瀏覽器來切換,當IE瀏覽器時,我們用VML來繪圖,當其他瀏覽器時,用SVG來繪圖,做到自動切換,讓用戶感覺不到不同,這是最好的。

VML和SVG的區別:
VML的優點:
XML標准,文本標記,表示方法簡單。
高質量的矢量圖像,支持多種不同的矢量圖形元素:
 Shape
 Line
 Polyline
 Path
 Curve
 Rect
 Roundrect
 Group
 Oval
 Arc
可以方便的嵌入html文件。
兼容DHTML的大部分屬性和事件。如,id,title,onmouseover等等,還可以自定義屬性。

支持動畫和交互

SVG支持任意的幾何圖形,漸變色,濾鏡,動畫等。並且,VML有的那些有點,SVG也有,如
基於XML標准
高質量的矢量圖像
文本描述的二維圖像
另外,SVG比VML還有一些優點
靈活的文件格式
支持交互和動畫
支持字符查找
支持Xlink和Xpointer


利用VML和SVG的相同和不同,我們在繪制流程圖的時候,根據瀏覽器的不同,切換到不同的技術。如IE中,我們用VML來划線:


同一個流程,Safari中繪制的流程圖:

 

線條的粗細稍有不同,位置形狀完全一致,自動切換,終端用戶使用中感覺不到差異。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM