2013-04-05 23 views
3

SVG Tiny 1.2 defines a property調用vector-effectSVG中矢量效果屬性的功能檢測?

<path vector-effect="non-scaling-stroke" stroke-width="2"></path> 

利用上述路徑,筆劃寬度將始終是2個像素,即使元件被縮放(由於父g元件上的transform,例如)。

此屬性似乎在大多數支持SVG的瀏覽器中工作,,但不在IE9和IE10中。

有什麼辦法可以檢測這個屬性嗎?

+0

我相信如果它不存在,可以進行一次modernizr測試。 – rzr 2013-04-05 11:37:35

回答

2

這對我的作品在Firefox和IE 9

<script> 
    var elm = document.createElementNS("http://www.w3.org/2000/svg", "g"); 
    if (elm.style.vectorEffect != undefined) { 
     alert("Supported"); 
    } else { 
     alert("Not Supported"); 
    } 
    </script> 

您也可以試試Modernizr。我猜想是這樣的。

Modernizr.testProp('vectorEffect') 
2

您不需要創建元素。

if (document.documentElement.style.vectorEffect === undefined) { 
    alert("Not Supported"); 
} else { 
    alert("Supported"); 
}