我已经开发了一个基于网络的 e pub 阅读器,我想添加一个评论功能,比如 adobe PDF reader 评论功能,这样如果我在其他 e pub 阅读器中打开那个 e pub,评论应该保存在 e pub 中可以看到评论。
1 回答
修改 XHTML
第一种方法是重写 XHTML 以包含注释,并重建 EPUB。<aside>
将元素与epub:type='footnote'
属性一起使用可能是有意义的。如果您随后在具有该属性的某处(例如与评论相关的文本周围)添加到页面的链接epub:type='noteref'
,那么 iBooks 将做正确的事情。请参阅http://www.pigsgourdsandwikis.com/2012/05/creating-pop-up-footnotes-in-epub-3-and.html。
<p>This sentence contains a
<a href="#note" epub:type="noteref">commented phrase</a>.
</p>
<aside id="note" epub:type="footnote">This is the comment.</aside>
但是,没有适用于所有电子书阅读器的标准标记。您可以做的最好的事情是添加弹出相关注释的脚本,但这显然仅适用于在运行脚本的阅读器上阅读的脚本化 EPUB3 电子书。
在单独的文件中使用 CFI
避免重写 XHTML 文件的一种可能替代方法是将注释保存在单独的文件中,并使用规范片段标识符(http://www.idpf.org/epub/linking/cfi/)将它们链接到相关文本. 但当然,您仍然需要脚本才能使一切正常运行。文件可能如下所示:
<comments>
<comment>
<cfi>/6/4[chap01ref]!/4[body01]/10[para05]/3:10</cfi>
<text>This is the comment.</text>
</comment>
</comments>
您可以在https://code.google.com/p/epub-revision/source/browse/trunk/src/samples/cfi/epubcfi.js找到 CFI 的原型实现,但您仍然需要编写胶水周围。