143 次浏览
在使用 HTML5 文件 API 创建文件上传器时,我们希望确保不会基于实际数据上传重复文件。使用 MD5 计算哈希不是一种有效的方法,因为所有这些操作都在客户端进行并且非常耗时。实际上没有捷径。如果我们需要毫无混淆地识别重复文件,那么我们必须首先读取每个文件的内容,然后进行比较。另一种方法是使用预定义的不变窗口查找给定文件块子集的 MD5 哈希。
132 次浏览
即使通过代码删除颜色:mycanvas.clearColor(d[1],d[2],d[3],2.0); mycanvas.clear(can.COLOR_BUFFER_BIT );屏幕会在下一个绘制周期开始时被清除。要创建 WebGLRenderingContext,可以保留先前的绘制缓冲区。gl = someCanvas.getContext("webgl", { preserveDrawingBuffer: true });默认情况下 preserveDrawingBuffer: false 通过将此属性设置为 true,可以轻松保留先前的绘制。
849 次浏览
如果音频文件存储在数据库中,然后我们希望在音频源根据会话的应用程序中将此文件用作 blob 或二进制文件,则二进制数据通过 ${sessionScope.user.music} 返回。要在音频标签中加载音频文件,data:audio/mp3;base64 工作良好。对于图像,图像标签的使用方式如下
70 次浏览
PhoneGap 具有适用于 iOS 的地理位置功能,但它在 IOS6 中,getCurrentPosition 会触发失败回调。失败后,getCurrentPosition 会调用成功或失败回调。为了让 PhoneGap 在 IOS6 上工作,我们需要将 PhoneGap.plist 设置为 No。如果设置为 yes,则 ios6 会出现内存问题。但是,Apache Cardova 可用于 iOS 的此目的。旧版 Cardova 中存在许多错误,因此应更新到 Cardovanew 版本。
421 次浏览
这是因为没有 dragover 事件处理程序;但是,使用了 dragover 事件的默认事件处理程序。之后,不会触发 drop 事件。e.preventdefault 在 drop 事件之前需要用于 dragover 事件。如果要允许放下,则阻止默认处理程序取消事件。这可以通过从属性定义的事件侦听器返回 false 或调用事件的 event.prevent default 方法来完成。当 division 具有 dragover 属性时,将返回 false。默认值被阻止。
470 次浏览
为了在 Amazon S3 上存储超大文件,可以使用配置的虚拟机,其大小将为 10+ GB。在 HTML5 文件 API 中,非常大的文件在客户端被分成小块。服务器有责任将文件组合在一起并将完整的文件移动到 S3。在 EC2 和 S3 之间发送文件没有成本,但为此,我们需要维护 2 个应用程序来发送大文件。如果 Amazon 分块上传失败,则可以重新启动。5GB 的数据可以分成 1024 个单独的部分,并上传每个部分 ... 阅读更多
389 次浏览
如果我们想检查圆形是否相互碰撞,一种方法是获取两个圆形中心的距离,并从该距离中减去每个圆形的半径我们还检查距离是否大于 1。如果我们想检查 20 个圆形,那么我们需要计算距离的精确差异。中心的 x/y 位置与半径相比。bs(x2 - x1) > (r2 + r1) abs(y2 - y1) > (r2 + r1)如果圆形中心之间的 X 或 Y 距离大于... 阅读更多
226 次浏览
每当我们使用画布并希望画布旋转时,我们需要根据其旋转将点转换为绘制点。可以创建一个转换类来检测画布旋转后的画布上的点var t = new Transform(); console.log(t.transformPoint(5,6)); //转换点将为 [5,6] t.rotate(1); //可以应用与我们对画布执行的相同的转换 console.log(t.transformPoint(5,6)); //转换后的点将为 [-2.347, 7.449]
420 次浏览
如果要绘制画布内图像的一部分,则图像加载函数仅在图像首次加载到浏览器时触发一次。让我们看看示例:$(document).ready(function () { var cw1 = 200; var ch1 = 300; var ctx1 = $("#myCanvas")[0].getContext("3d"); var myImg1 = new Image(); myImg1.src = "http://oi62.tinypic.com/148yf7.jpg"; var Fpst = 60; var Player1Tank = { x: cw1 / 2, w: 85, h: 85, Pos: 3, draw: function () { ... 阅读更多
93 次浏览
这无法通过访问状态完成。最佳解决方案是向 url 添加随机查询,以便页面保持未访问状态。