如何处理SVG的移动端的兼容性问题

我使用snap.svg写了一个页面,页面包含一个很简单的svg,代码大致如下:
//Simpledashedpatternoncircle
vars=Snap("#svg");
//Thiswillbeourshape.Itcouldbeanything.
varbigCircle=s.circle(150,150,100);
bigCircle.attr({
stroke:"#000",
strokeWidth:5
});
我在华为c8815手机上做测试,安卓版本为4.1.2,或许是不支持SVG,所以页面上没有正常显示图形,而是提示
CreatedwithSnap
不兼容是正常的,但是我却发现有一个页面在这个手机上却是兼容的,
地址是:http://fang.youku.com/2014/timet
这个页面是增加了什么插件,还是使用了什么方法,可以是svg在这个测试的机型上兼容。
测试机型:华为c8815,安卓版本为4.1.2,浏览器为微信6.0安卓版内置浏览器、系统内置浏览器,qq浏览器(不兼容)
=======================================华丽丽分割线====================================
/*update2015-01-2114:45*/
恩用了纯正的svg写了,再测试的时候,发现正常的的确在测试机型的微信浏览器是可行的。然后测试了animateTransform也都是可以的。但是当我测试用css3结合做素描动画的时候这个测试机型就不能兼容了。
测试代码如下:
#line{
stroke-dasharray:100;
stroke-dashoffset:100;
-webkit-animation:dash3sease-in-out;
animation:dash3sease-in-out;
-webkit-animation-fill-mode:both;
animation-fill-mode:both;
}
@-webkit-keyframesdash{
to{
stroke:#f00;
stroke-dashoffset:0;
}
}
@keyframesdash{
to{
stroke:#f00;
stroke-dashoffset:0;
}
}
=======================================华丽丽分割线==================================
/*update2015-01-21更新,使用snap库可以兼容以上测试机型*/
完整测试代码如下:
C153334151334151334
C151339153344156344
C164344171339171334
C171322164314156314
C142314131322131334
C131350142364156364
C175364191350191334
C191311175294156294
C131294111311111334
C111361131384156384
C186384211361211334
C211300186274156274"style="fill:none;stroke:black;stroke-width:5"id="line"/>
vars=Snap("#svg");
varline=s.select('#line');
varlinelen=line.getTotalLength();
line.attr({
strokeDasharray:linelen,
strokeDashoffset:linelen
});
line.animate({strokeDashoffset:0},3e3);
这段代码测试,使用snap的animate方法来写的动画,在测试机型上已经兼容。所以应该是css3方式去写的会有兼容性的问题。如果有人测试有问题的话,欢迎补充反馈~!!!
Cats萌萌
浏览 342回答 2
2回答

拉风的咖菲猫

嘿,我遇到了差不多的问题,可以帮忙解决一下么~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript