可以在各种移动Web浏览器中进行签名捕获?

时间:2008-09-25 17:07:25

标签: mobile mobile-devices

我的公司正在考虑提供一个轻量级的移动网站,用于现场数据输入(我们已经有一个胖客户端移动应用程序)。一个严格的要求是我们必须能够捕获签名。

是否有任何先前的技术用于捕获签名,特别是在移动网络浏览器内运行的网页中,在各种移动设备/网络浏览器中?我只是要求 - 浏览器解决方案,而不是厚客户端。

由于显而易见的原因,设备需要配备触摸屏。

当然,有许多不同的移动浏览器具有各种功能。理想的解决方案将支持尽可能多的浏览器,并根据浏览器功能优雅地降级。

我已经知道某些版本的Flash可能会提供此类所需的绘图API,假设所需设备的浏览器支持Flash。

我也了解Windows Mobile设备上的a third party ActiveX/OCX control for Pocket IE。用户必须在使用前在浏览器中手动下载/安装控件。不幸,但可以接受。

我个人并不了解许多支持托管Java applet的移动浏览器,但可能还有一些。同样,基于对各种Java API的支持,也许这可能是一种途径。

如果引擎和处理器在设备上足够强大,Javascript 可以执行此操作。

最后,在这里总管梦,或许可以让用户在普通纸上使用移动设备的相机拍摄签名照片,并以某种方式将其视为有效签名。但是,这会生成位图图像,而不是我可能在所有其他实例中收集的矢量。此外,如果不是不可能/不合理,通过相机应用程序整合拍摄照片并使用网络浏览器应用程序上传,同时将特定图像与正在捕获的其余数据相关联将是非常困难的。

感谢。

12 个答案:

答案 0 :(得分:20)

现在有一个jQuery插件可以做到这一点 - > http://thomasjbradley.ca/lab/signature-pad

自2016年3月17日起,上一个链接处于非活动状态,但相关存储库位于GitHub上:https://github.com/thomasjbradley/signature-pad

答案 1 :(得分:2)

我认为图片的想法非常聪明,但我会更进一步。某些移动设备(特别是电话)甚至不在浏览器中进行文件上传。我会生成一个特定于操作的电子邮件地址,某种事务ID的哈希和例如用户ID,并允许它作为电子邮件附件发送。这应该吸引各种各样的客户,并且不会增加可怕的复杂性。

答案 2 :(得分:2)

答案 3 :(得分:1)

首先,我是C ++开发人员,而不是Web,但已经在C ++ / MFC中编写并部署了Windows Mobile签名捕获例程。如果您想使用或翻译代码,请告诉我,我会在此处发布。它不是特别优雅,但做的工作。基本上,您需要按钮点击和鼠标移动消息。

在这条道路上已经走下坡路,我的结论是它并没有很好地利用技术。屏幕往往在签名捕获区域被磨损和反应迟钝,使得它们不仅对签名​​捕获无用,而且对其他操作也无用。我们的经验是,对于移动销售类型的应用程序,它将手持设备的寿命限制在一年左右,并且导致用户不满意。

相机的想法似乎更加明确,并没有破坏设备。 IMO你也会得到更好的签名,触摸屏很糟糕。

答案 4 :(得分:1)

是的,找到一个,这适用于Android 2.1,2.2,iPhone。 它工作得很好,并附带PHP代码,用于将JSON保存的坐标转换为图像。 http://thomasjbradley.ca/lab/signature-pad

答案 5 :(得分:1)

http://mysignature.brinkster.net - 不适用于移动浏览器 http://thomasjbradley.ca/lab/signature-pad - 不适用于IE。它有帆布和闪存技术。 IE浏览器标签有问题。

答案 6 :(得分:0)

如果您正在谈论让它适用于各种移动浏览器,我认为这在技术上是不可能的。大多数手机至少可以轻松地通过电子邮件发送图片,因此您可以随时将其发送到某个帐户,其中附件被转储到某处。但是,你必须在主题中手动输入一些标识符。

答案 7 :(得分:0)

如果移动浏览器支持javascript,那么您可以在某些触摸屏设备上执行此操作。否则,必须使用插件,java,flash或类似的方法完成。

使用javascript,你会看到'鼠标'的位置。在某些设备上,如果用户使用触控笔按下屏幕,您可以捕获鼠标移动并记录他们遵循的模式(签名)。

我怀疑某些移动浏览器没有将这些信息传递到javascript上 - 它们可能只会传递点击次数...

某些测试可能是有序的。

- 亚当

答案 8 :(得分:0)

如果没有在网页上嵌入某些内容,唯一的方法就是使用JavaScript。

不幸的是,大多数移动浏览器都不支持JavaScript,而且那些浏览器并不是特别快。

我认为不可能基于目前的大多数设备创建通用解决方案。

答案 9 :(得分:0)

使用Flash(通过FlashCanvas)的Canvas在jSignature中运行良好。 http://willowsystems.github.com/jSignature/

MIT + Works(专门编写运行)到处都是Canvas或Flash。 +在iPad,iPhone,Android平板电脑,手机上测试。

答案 10 :(得分:0)

您可能需要考虑OpenSource jQuery插件:https://github.com/applicius/jquery.signfield/

答案 11 :(得分:0)

所有这些答案都已过时。

目前最好的图书馆是 - https://github.com/szimek/signature_pad

signature-pad by thomas bradley is no longer maintained