以前在ie盛行,微軟一家獨大的時候,web繪圖功能首選就是vml,ie5.0以上的版本都支援vml,vml可以在ie中通過文字的方式繪製向量影象,類似在html頁面中實現了畫筆的功能,所以被很多人採用來實現web流程設計器。
隨著手機,ipad等各種移動裝置的公升級,越來越多的應用要求支援這些移動裝置。很可惜vml只支援ie,手機和ipad大部分是chrome和safari,不支援vml,web繪製流程圖的功能,要實現跨瀏覽器,必須採用別的技術。
為了相容已經用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中繪製的流程圖:
線條的粗細稍有不同,位置形狀完全一致,自動切換,終端使用者使用中感覺不到差異。
瀏覽器跨域
前端部分,簡單的封裝乙個promise版的ajax let myajax function headers else xhr.open method,path for let key,value of object.entries headers xhr.send body myajax heade...
瀏覽器跨域
同源策略 同源策略是乙個重要的安全策略,它用於限制乙個origin的文件或者它載入的指令碼如何能與另乙個源的資源進行互動。它能幫助阻隔惡意文件,減少可能被攻擊的媒介。協議 網域名稱 埠號 http伺服器,預設的埠號為80 tcp 木馬executor開放此埠 https securely trans...
跨瀏覽器的CORS
檢測 xhr 是否支援 cors 的最簡單方式,就是檢查是否存在withcredentials屬性。再結合檢測 xdomainrequest 物件是否存在,就可以兼顧所有瀏覽器了。function createcorsrequest method,url else if typeof xdomain...