**有关此问题的当前解决方案,请参阅编辑2。 **
我有一个有点模糊的问题,谷歌和通过StackOverflow搜索还没有解决。 Paper.js无法通过iOS工作。
目前我正在构建一个白板绘图web-app,它利用paper.js绘制功能。它在Chrome,FireFox和Safari的桌面上运行得很好。在Android设备上它工作正常,但是相当滞后。在iOS设备上使用该应用程序时会出现问题。
出于某种原因,我的应用无法通过移动版Safari或移动Chrome在iOS上使用它时创建路径。 iOS上的行为只是一个无响应的画布。
我目前无权访问可用于远程调试的设备,因此无法收集任何有用的调试数据。
用于测试的Web应用程序链接。 http://alexpersian.github.io/html/whiteboard.html
参与绘画的论文的代码片段。
var myPath;
function onMouseDown(event) {
myPath = new Path();
myPath.add(event.point);
myPath.strokeColor = WBAPP.penColor; // WBAPP is from main Javascript
myPath.strokeWidth = WBAPP.penStroke;
myPath.strokeCap = 'round';
}
function onMouseDrag(event) {
myPath.add(event.point);
}
function onMouseUp(event) {
myPath.simplify();
}
编辑:我已经完成了一些进一步的测试,发现它适用于运行iOS 7的设备,但不适用于iOS 8.我很好奇iOS 8是否有限制touchEvents网络互动。
编辑2:我能够通过添加此代码片段来解决此问题。
document.addEventListener('touchmove', function(event) {
event.preventDefault();
}, false);
这可以防止iOS 8上的默认触摸操作,这似乎是一个滚动/平移动作,因为它会干扰来自paper.js的onMouseDrag事件。
paper.js联合创始人JürgLehni正在研究这是否应该包含在图书馆本身中。在此之前,这段代码应该有所帮助。答案 0 :(得分:0)