use*_*ca8 2 svg vml cross-browser raphael feature-detection
如果浏览器/用户代理/客户端支持Raphael.js库,最简单,最可靠的方法是什么?Raphael使用Javascript来创建和控制SVG矢量图形,或者,如果SVG不可用但是VML(例如在Internet Explorer版本6到8中),它使用VML创建和控制等效图形.
一种方法是特征检测SVG,然后,如果它不可用,则特征检测VML.2009年有一个老问题,答案包括一些用于检测VML和SVG特征的代码.但是,这些评论表明它可能并不适用于所有情况,而且我确信自2009年以来发生了很多变化.此外,拉斐尔可能还有一种更简单的方法.
一个更简单的替代方案可能是使用一些Raphael内部标志或函数.它已经设置了变量,无论它是以SVG模式还是VML模式运行.这可以用来可靠地检测"两种情况"吗?
或者可能有一种可靠的方法,基于创建一个空的Raphael对象并测试其属性或功能?
对于一般背景,据我所知,唯一不兼容Raphael的常见浏览器是版本1.x和2.x的Android股票浏览器,但是,我更喜欢使用功能检测而不是浏览器版本检测可能的(除非有充分的理由说明为什么在这种情况下实际上这是一个更好的解决方案).
查看官方文档:http://raphaeljs.com/reference.html#Raphael.type
if (!Raphael.type) alert('Your browser does not support vector graphics!');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1475 次 |
| 最近记录: |