Javascript 未捕获引用错误:未定义WebKitPoint

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

我使用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 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
}

};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];
};