移动Safari SVG渲染问题与raphaeljs

时间:2009-10-10 22:13:44

标签: javascript svg iphone raphael

我正在使用raphael创建一个动画的交互式图表,我需要在iPhone上运行良好。我有2个轻微的渲染问题,我正在努力。

首先,无论何时单击附加了单击处理程序的svg元素,移动safari都会在其周围绘制一个透明的灰色框以指示单击的内容。这与点击超链接时的功能相同。在这种情况下,灰盒子非常难看。是否有任何css属性告诉移动游猎不要这样做?

第二个问题是动画。在任何动画的持续时间,移动safari为svg画布添加了丑陋的黑色边框。它只在动画正在进行时才可见,并且只在底部和底部可见。画布的右边缘。知道如何解决这个问题吗?

这是使用副本&在raphael的页面上粘贴其中一个演示,只有白色背景。

1 个答案:

答案 0 :(得分:8)

This article有一些有用的提示,即......

禁用选择闪光灯:

  

原来有一种方法可以通过使用WebKit CSS属性-webkit-tap-highlight-color来关闭它,并将颜色的alpha设置为0,在我的Javascript代码中可以解决这个问题:

document.documentElement.style.webkitTapHighlightColor = "rgba(0,0,0,0)";

并禁用“操作”弹出窗口:

  

我需要禁用的第二件事是如果你点击并按住UIWebView的内容几秒钟就会出现“动作”弹出窗口。这也是通过一个名为-webkit-touch-callout的CSS属性来控制的,在这种情况下将其设置为“none”可以解决这个问题:

document.documentElement.style.webkitTouchCallout = "none";