我正在开发一个原型系统,它将作为概念证明来证明现有系统可以变得更具交互性。

它基本上模拟了我们的主要软件包,但是在Internet上使用JSONP请求来更新图像和Raphael向量的负载,以使其看起来一切都在运行。

我在Chrome上遇到了麻烦,但是Raphael没有在屏幕外绘制矢量。我所说的“屏幕外”是指主应用程序通过iframe运行,因为它依赖于通过AJAX进行的跨域长轮询彗星来回通信。下面的图像演示了我的意思。



在这里,我在iframe中滚动了很长一段时间,以查看“屏幕外”位,您可以希望看到未渲染灰色箭头。我已经使用Chrome的开发人员工具突出显示了SVN标签,显示出它只为SVG标签提供了450px x 810px的像素,这与为iframe分配的尺寸相同。

值得指出的是,它在Firefox中呈现良好。有任何想法吗?

最佳答案

我遇到了类似的问题,并发现了与WebKit项目有关的错误报告:

https://bugs.webkit.org/show_bug.cgi?id=64823

根据评论,这是渲染引擎中的错误,除了丢失iframe或采用其他滚动SVG视口的方式(例如,移动SVG元素内的所有元素)外,没有其他解决方法。

从好的方面来说,version 16.0.912.21今天已发布到beta通道,并且该错误似乎已得到修复。我还检查了最新的铬生成(17.something),并且该bug尚未浮出水面。我猜想该修复程序应该在几周内进入稳定的渠道。

关于javascript - Chrome和SVG(Raphael),无法绘制“屏幕外”图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7970770/

10-12 12:25
查看更多