You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Apple Books中EPUB非线性页面链接直接跳转而非弹窗?

问题描述

我在metadata.opf文件中标记了若干非线性页面:

<itemref idref="id18" linear="no"/>
<itemref idref="id19" linear="no"/>
<itemref idref="id20" linear="no"/>

当该书在Apple Books中打开时,点击指向这些页面的链接(比如从目录或其他位置点击),Books并未直接跳转到对应页面,而是将其当作脚注,仅显示悬浮窗口(类似网页上的悬停文本)。

我希望点击链接能直接跳转到目标页面,类似网页中onclick="window.location=url"的效果。EPUB相关的JavaScript文档很少,也没有示例,我对此了解有限。只要方案能在Books中生效,被其他阅读器忽略也没关系——其他EPUB阅读器的表现是正常的。

解决方案

方法1:通过JS覆盖Apple Books默认行为

给指向非线性页面的链接添加自定义点击事件,强制触发页面跳转:

<a href="id18.xhtml" onclick="event.preventDefault(); window.location.href=this.href; return false;">跳转至目标页面</a>
  • event.preventDefault():阻止Apple Books默认的弹窗展示逻辑
  • window.location.href=this.href:强制跳转到目标页面地址
  • 不支持JavaScript的阅读器会自动忽略这段代码,沿用原有跳转逻辑,完全符合需求。

方法2:修改OPF的linear属性(可选)

如果不需要保留这些页面的非线性标记,直接将linear="no"改为linear="yes":

<itemref idref="id18" linear="yes"/>

但这个方法会改变EPUB的线性结构,可能影响其他阅读器的表现,因此更推荐方法1。


内容的提问来源于stack exchange,提问作者John O

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:12:36