【发布时间】:2016-07-19 19:04:42
【问题描述】:
我正在使用 epub.js javascript 插件在 Web 应用程序中呈现 epub 文件。这是我的示例代码
<!-- EPUBJS Renderer -->
<script src="../build/epub.js"></script>
<script>
"use strict";
var Book = ePub("https://s3.amazonaws.com/moby-dick/");
</script>
<body>
<div id="main">
<div id="prev" onclick="Book.prevPage();" class="arrow">‹</div>
<div id="area"></div>
<div id="next" onclick="Book.nextPage();" class="arrow">›</div>
</div>
<script>
Book.renderTo("area");
</script>
</body>
它工作正常并将 epub 呈现为 div 元素内的 iframe。我只是想防止从浏览器复制 epub 内容。禁用鼠标事件是一个选项 bt 通过检查浏览器 epub 文件内容可见并且可以从那里轻松复制。我只是想避免这种情况。将 epub 内容加载为画布似乎是实现此目的的好主意。
有什么方法可以在画布中加载 epub,或者请建议任何其他方法来防止从浏览器复制 epub 内容。
【问题讨论】:
-
这同样没有意义,不是吗?我可以查看源代码,然后通过直接向s3.amazonaws.com/moby-dick发出请求来获取数据
-
此处使用的 epub url 用于演示目的。实际的 epub url 是由服务器动态生成的,它会随着对特定 epub 的每个请求而改变。这是我们从我们这边实施的安全措施。
-
好吧,如果我在 DOM 中找不到你的内容,我会从网络上抓取它。开发工具、telerik fiddler、wireshark。选择我的工具。
-
如果您最终将文本“绘制”到画布上,那么使用 EPUB 有什么意义?只需将您的 EPUB 转换为后端的图像,然后提供这些图像。 (是的,您可以通过生成不同的图像集来允许例如多种字体大小,每个阅读设置一个。)(而且,如果我可以补充我的拙见,您的公司正试图通过技术手段解决商业问题 ---基本上,某种“轻量级”DRM——总是可以绕过的。你是否考虑过给你的内容加水印?)
标签: javascript html canvas svg epub