我需要用Javascript/HTML5开发一个可以在移动设备(iOS/Android)上运行的应用程序。此应用程序必须仅运行客户端(不得运行服务器交互)。 它必须接收表单信息并在本地生成 CSV 文件。 生成后,它应打开本地邮件客户端并将CSV文件附加到邮件中。
这可能吗? 我找到了有关如何生成CSV文件的信息,但它们都以调用动态创建的a
链接的click
函数结束 - 该功能会将CSV文件下载到用户的手机。 如果此步骤可以自动转到附加了CSV文件的新电子邮件,那将是最佳解决方案。
我编写了一个轻量级的客户端 CSV 生成器库,可能会派上用场。在 https://github.com/lbrtw/csv 上查看
就位后,您只需使用 getFileContents
方法动态生成并通过电子邮件发送 CSV 文件,window.open
或location.href = ...
,如下所示:
var propertyOrder = ["name", "age", "height"];
var csv = new Csv(propertyOrder);
csv.add({ name : "Anders",
age : 38,
height : "178cm" });
csv.add({ name : "John Doe",
age : 50,
height : "184cm" });
var fileContents = csv.getFileContents();
var link = "mailto:" + emailAddress + "?subject=CSV&body=" + fileContents;
// This action should open the default email app:
window.location.href = link;
// , and if that doesn't work, try this instead:
window.open(link);