javascript - 在 EPUB3 文件中使用查询字符串

标签 javascript query-string epub epub3

我正在制作一本包含 140 个(短)视频的 EPUB3 电子书。有一个索引文件,其中包含指向具有 HTML5 视频元素的单独 showVideo.html 文件的超链接。我的想法是通过查询字符串将每个视频文件名提交到 showVideo.html,后者通过 JavaScript 读取查询字符串并将值放入视频元素中。

索引文件链接:

<a href="showVideo.html?unit=E1">Click to watch E1</a>

如果我将以下代码写入 content.opf 文件的 manifest 中,这确实有效:

<item id="vid_player" href="showVideo.html?unit=E1"
 media-type="application/xhtml+xml"/>

但如果我这样做,我必须向 list 中添加 140 个项目。仅排除 list 中的查询字符串不起作用:

<item id="vid_player" href="showVideo.html" 
 media-type="application/xhtml+xml"/>

你们有解决办法吗?查询字符串方法只是我的想法,也许有更好的技术。

谢谢

马文

最佳答案

避免 epubcheck检查过于挑剔,可以进行以下操作。

  1. 添加data-video属性为<a>元素,如<a data-video='E1'> .

  2. 将事件监听器添加到 click事件相关<a>元素。

  3. 在事件处理程序中,设置 location.href"showRef.html?Unit=" + elt.dataset.video或同等内容。

  4. showRef.html内,解析查询字符串并做正确的事情。

关于javascript - 在 EPUB3 文件中使用查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468854/

相关文章:

javascript - Bootstrap 导航栏在单击侧边栏导航列表后隐藏页面部分

php - 获取多个过滤值参数

java - 在Android中创建文件夹解压epub

javascript - JQuery:为什么即使使用 Prop 和 Attr 也无法启用 HTML 按钮?

javascript - 如何从 vue.js 捕获 Jquery 事件

c# - 在 JavaScript 中传递参数

javascript - 跨电子书页面共享数据

android - 需要很长时间才能在设备中显示 epub 文件

输出数组时Javascript未定义消息

jquery - 如何使用 jQuery 或纯 JavaScript 获取 URL 参数?