我正在创建一个内部带有表单的 epub3。是否可以在用户离线时将表单中输入的信息保存在本地,并在用户在线时将其发送到 Web 服务?
1 回答
这是一个很好的问题!最后...
好的,对于您问题的第一部分(保存信息),您可以使用 localstorage,有关这方面的一些重要信息,请访问:http: //diveintohtml5.info/storage.html。
答案的下一部分并不是那么简单:理想情况下,您可以对 XHR 请求使用某种 try catch,但很可能这不起作用,因为大多数 ePub3 阅读器(实际上,除了 Readium 之外的几乎所有阅读器)不支持 XHR 或外部请求功能。有关详细信息,请参阅此帖子:http: //beneaththeink.com/blog/who-supports-epub/。
如果您希望通过任何“正常”渠道分发您的书(几乎只是 iBooks,因为此时您需要脚本支持)您将无法在此时发送数据......
但是,如果您将自己分发这本书以在 Readium 和 iBooks 上使用(或者如果您想提前计划并希望获得支持),您可以做一些技巧。我个人最喜欢的是将数据嵌入媒体请求(即 www.yoursite.com/fake.m4v?data1=localStorage.data1&data2=localStorage.data2)并在您的服务器上提取数据。这将嵌套在 try catch 中,并在打开书本时激活。
如果您在 .opf 文件中包含基本 url (www.yoursite.com),以及在包含脚本的章节中的某个位置,这将在 iBooks 中工作!如果您不将其包含在 .opf 中,则请求将直接被阻止... /blog/external-video-in-ibooks-epub-files/。
祝你好运!!!