为什么Kinetic 3的Text会在Firefox中破解?

时间:2013-02-17 04:20:37

标签: javascript firefox kineticjs

Kinetic.js 3目前无法在Firefox中运行。 (见bug 835064) 似乎Firefox确实handle mouse events differently than other browsers,但我不确定是否可能有一个简单的解决方法来解决这个拖延问题,或者是否必须为Kinetic.js 4.0+完全重写一个web-app(它在Firefox中有效) )?

2 个答案:

答案 0 :(得分:0)

没有测试过,但你可以尝试一下。

<script src="https://local-py.googlecode.com/svn-history/r7/trunk/js/kinetic-v3.10.1.js"></script>
<script>
/* 3.10.1 */ 
//Kinetic.Stage.prototype._setMousePosition = function(evt) {
//    var mouseX = evt.offsetX || (evt.clientX - this._getContentPosition().left + window.pageXOffset);
//    var mouseY = evt.offsetY || (evt.clientY - this._getContentPosition().top + window.pageYOffset);
//    this.mousePos = {
//        x: mouseX,
//        y: mouseY
//    };
//} 
/* 4.3.1 */
Kinetic.Stage.prototype._setMousePosition = function(evt) {
   var mouseX = evt.clientX - this._getContentPosition().left;
   var mouseY = evt.clientY - this._getContentPosition().top;
   this.mousePos = {
       x: mouseX,
       y: mouseY
   };
}
</script>

答案 1 :(得分:0)

这似乎是Firefox在Azure画布中使用Cairo的一个错误。这显然总是发生在使用开罗后端的Firefox 18-19中,并且是fixed in Firefox 20