Javascript 未捕获引用错误:未定义WebKitPoint
我使用Sencha Touch 1.1.1 昨天,当谷歌Chrome更新到39时,它开始给出这个错误Javascript 未捕获引用错误:未定义WebKitPoint,javascript,google-chrome,extjs,sencha-touch,Javascript,Google Chrome,Extjs,Sencha Touch,我使用Sencha Touch 1.1.1 昨天,当谷歌Chrome更新到39时,它开始给出这个错误 Uncaught ReferenceError: WebKitPoint is not defined 因为他们已经删除了WebKitPoint。Sencha Touch有一个带有WebKitPoint的代码,位于第6行。嗯 getXY: function() { var a = window.webkitConvertPointFromNodeToPage(this.dom, new
Uncaught ReferenceError: WebKitPoint is not defined
因为他们已经删除了WebKitPoint。Sencha Touch有一个带有WebKitPoint的代码,位于第6行。嗯
getXY: function() {
var a = window.webkitConvertPointFromNodeToPage(this.dom, new WebKitPoint(0, 0));
return [a.x, a.y]
}
我认为WebKitPoint是某种函数对象{x:0,y:0},但我无法生成/创建JavaScript代码所需的内容;我写了这个WebKitPoint={x:0,y:0}
,但它再次给出了错误,这次说它不是一个函数
我还发现:
tl;博士
谷歌Chrome39不再支持WebKitPoin。如何模拟或替换它?您可以尝试替换它
var point = window.webkitConvertPointFromNodeToPage(this.dom, new WebKitPoint(0, 0));
return [point.x, point.y]
与
资料来源:
代码积分:Philip Jägenstedt根据Ahmad的优秀答案,您还可以在脚本开始时覆盖所有内容(在加载sencha-touch.js之前):
戴夫,这太好了。但在我的观点中,我成了一个滚动问题。我认为您必须返回一个关联数组:
WebKitPoint=函数(x,y){};
window.webkitConvertPointFromNodeToPage=函数(dom,未使用的WebKitPoint){
var rect=dom.getBoundingClientRect();
返回{
“x”:矩形左,
“y”:rect.top
}
};正如我在Chromium bug中提到的,有一个警告。如果您使用CSS变换旋转元素,getBoundingClientRect()不是等效的,因为它将返回旋转框的边界框的左上角坐标。很抱歉,我弄坏了您的东西,我希望getBoundingClientRect()修复程序能够解决问题。@傻瓜,np,Ahmad已经指出了一个解决方法。我们应该转移到Sencha Touch 2,版本1不再受支持。
var rect = this.dom.getBoundingClientRect();
return [rect.left, rect.top];
WebKitPoint = function(x,y) { };
window.webkitConvertPointFromNodeToPage = function(dom, unusedWebKitPoint) {
var rect = dom.getBoundingClientRect();
return [rect.left, rect.top];
};