首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >火狐中的Rappid.js - getScreenCTM返回null

火狐中的Rappid.js - getScreenCTM返回null
EN

Stack Overflow用户
提问于 2016-07-01 08:21:14
回答 1查看 1.6K关注 0票数 0

在过去的几天里,我遇到了一个让我头疼的问题。

我有一个网页,用户可以在其中创建某种序列图(使用joint.js和rappid.js v1.7.1)。这个想法是:用户有一些可用的节点,可以拖到画布上(在joint.js中是纸张),然后这些节点可以相互链接。

它本身的功能在chrome和internet中运行得很好,但我似乎无法让它在Firefox中工作(47.0.1版)。

一旦我把一个节点放到画布上,我就会得到以下错误:

如前所述,此错误仅发生在Firefox中,并且使用Firefox和Chrome调试器函数,我能够告诉您,“相同”对象确实在Chrome中接收SVG矩阵,而在Firefox中为null。

节点包含SVG图像内容:

代码语言:javascript
运行
复制
defaults: joint.util.deepSupplement({
    type: 'stations.StartPoint',
    attrs: {
        '.stations-point-title-text': { 'text': 'Start' },
        '.stations-point-content-image': { "xlink:href": "data:image/svg+xml;base64,..." }
    }
}, stations.Point.prototype.defaults)

rappid.js中发生错误的代码行

代码语言:javascript
运行
复制
getTransformToElement: function (a) {
            return a.getScreenCTM().inverse().multiply(this.node.getScreenCTM())
        },

有没有人有过类似的joint.js经验?如有任何帮助或建议,将不胜感激。

谢谢

编辑:--我找到了这个问题的解决方案,尽管我必须承认我并不完全理解它。在分析了一个在Firefox中工作的演示程序之后,我发现不同之处在于,我没有在代码中调用Navigator.render()功能(因为我没有使用导航器)。加上那个电话解决了我的问题。(http://jointjs.com/rappid/docs/ui/navigator)

EN

回答 1

Stack Overflow用户

发布于 2016-07-05 12:02:20

一旦移到0.9.5,问题就消失了。但是要确保在你的index.html中包括

< script > SVGElement.prototype.getTransformToElement = SVGElement.prototype.getTransformToElement而行不悖的函数(ToElement){返回;< };< / script >

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38140472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档