提问人:John O 提问时间:9/1/2023 更新时间:9/1/2023 访问量:43
epub 中的链接是否有 onclick ( ontap ?) 会强制页面为非线性文件?
Is there an onclick (ontap?) for a link in epub that will force the page to a non-linear file?
问:
我在 metadata.opf 文件中有几个标记为非线性的页面:
<itemref idref="id18" linear="no"/>
<itemref idref="id19" linear="no"/>
<itemref idref="id20" linear="no"/>
当这本书在 Apple Books 中打开时,我单击/点击指向其中一个的链接(例如,从目录中,但也从其他地方),而不是导航到该页面,Books 似乎想将其视为某种脚注,并且只显示浮动窗口或排序(例如在常规网页上悬停文本)。
我希望它直接导航到页面。在网页中(如果有必要),您可以执行类似操作,并且它会像常规链接一样工作。有没有办法在 epub 中实现类似的功能?onclick="window.location=url"
支持什么 javascript 只是稀疏的文档,没有示例(更不用说相关示例了)......我找不到太多关于这个的东西。如果 javascript 在 Books 之外被忽略,那也没关系,因为其他 epub 阅读器似乎表现得更好。
链接:
单击链接时:
答:
我们在 XHTML 页面上使用后备 JS 'ahref' 链接。iBooks 规格表明 JS 编码很好(iBooks 1.5 或更高版本、iOS 5.0 或更高版本、macOS X Mavericks 10.9 或更高版本)。我们使用的回退代码是:
<a href="./text/section-02.xhtml" class="button" onclick="location.assign('./text/section-02.xhtml'); return false;">Fallback</a>
这种回退只是意味着 -- 首先,常规的“ahref”在点击时被触发,然后如果由于某种未知原因它没有触发,则“return false”表示在与“onclick”相同的点击中转到此页面。 此信息来自此来源(此外,FF MDN Web Docs 中也有很好的信息):StackO 和 W3S 。
有几种方法可以将 JS 回退呈现为 'assign'、'replace'、'href',值得详细阅读 SO 链接(这是一个很长的讨论,还有其他几个链接也值得阅读)。
也。。。标签可能是弹出窗口的原因......
或者,如果它位于同一网络链接中,它可能是代码中的“epub:type”。这可能会导致 EPUB 以弹出框的形式打开该链接。如。。。<aside>
epub:type="noteref"
评论