Swiffy输出透明背景

我只是想找出一种方法来在iOS应用中使用swiffy输出的HTML5animation,但我不能放弃灰色的背景。 我认为这将是一种方式来放弃animation,并规避在视网膜iPad显示屏上使用PNG的存储问题。 现在我不能把背景弄清楚。 我该怎么办?

在Swiffy生成的代码中,查找backgroundColor并将其删除,包括其值。

删除backgroundColor:元素直到我发现Google已经打破了在Swiffy运行时的当前版本中执行此操作的能力之后,才正常工作。 如果你也改变:

SRC = “https://www.gstatic.com/swiffy/v5.2/runtime.js”

SRC = “https://www.gstatic.com/swiffy/v5.1/runtime.js”

在文件的顶部,你会发现透明背景能够正常工作(当然,5.2库中的任何增强function都将不再可用)。

编辑:迈克尔·普雷斯科特指出,由于Swiffy转换器版本和运行时间之间不匹配,此解决scheme将无法可靠地工作。 另一个不依赖于5.1出口商的解决scheme是build立在这里build议的其他解决scheme上。 尝试将以下function添加到脚本。 它轮询看什么时候Swiffy对象已经安装了它的首选背景颜色,然后它取代它。

(function() { var firstNode=document.getElementById('swiffycontainer').childNodes[1]; //firstNode.style.visibility = "hidden"; if (firstNode.style.background=="") { setTimeout(arguments.callee, 10); } else { firstNode.style.background = "none"; //firstNode.style.visibility = "visible"; } })(); 

Swiffy首先设置了一个坚实的背景,然后它被replace,这似乎并没有显示出一个小故障。 但是更确定的是,您可以启用注释掉的行来隐藏第一个节点,直到设置了正确的透明度。

最好的祝福

尝试find具有纯色背景的元素,并将其dynamic更改为透明,如下所示:

 document.getElementById('swiffycontainer').childNodes[1].style.background = "rgba(255, 255, 255, 0)"; 

或者没有

 document.getElementById('swiffycontainer').childNodes[1].style.background = "none"; 

这一切都没有为我工作(使用版本5.2),通过设置新的风格解决:

 <script> var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),swiffyobject); stage.start(); </script> <style> div {background: url("../bgimg.jpg") repeat scroll 0 0 transparent !important;} </style> 

根据http://css-tricks.com/override-inline-styles-with-css/ ,你可以使用这个CSS hack

 div[id=swiffycontainer] > div{ background-color: transparent!important; } 

添加到您的CSS或类似的东西。

 #containerdivid svg > g > g > rect { display: none; }