Javascript 技巧?scribd 如何使复制和粘贴文本变得困难

use*_*064 19 javascript

最近,我看到 scribd 使用户(免费用户)很难浏览他们网站上托管的文档。无法在文档中进行搜索,更不用说能够下载相同的文档了。

使用 javascript,它们在浏览器中按需加载页面,因此浏览器的“另存为”功能没有多大帮助。

令我惊讶的是,我看到即使复制/粘贴文本复制到剪贴板也是胡言乱语!为了检查出了什么问题,我在浏览器中关闭了 javascript,然后再次加载了相同的文档。瞧,我确实看到了胡言乱语。因此,看起来来自 scribd 的 javascript 以某种方式对乱码文本进行解码,然后将其显示在浏览器中。

现在,我的问题是,即使启用了 javascript 并且文本在浏览器中正确呈现,如果我去查看与我选择的文本对应的 DOM 对象,我仍然会看到乱码文本。

所以,现在,我很困惑。文本对用户显示正常,但 DOM 对象仍然包含乱码。所以问题是,网站使用什么样的javascript钩子/代码,以便能够保留DOM对象中的乱码并仍然呈现解码的文本?

有没有办法访问解码的文本?我的目的不是对算法进行逆向工程来解码,而是定位解码文本的存储位置?

示例文档是:

http://www.scribd.com/doc/143886351/OCP-Upgrade-to-Oracle-Database-12c-Student-Guide-vol-1-Exam-1Z0-060

看看当您打开/关闭 Javascript 时会发生什么!

Dan*_* D. 15

看看font-familyspan。他们使用自定义字体(在这种情况下ff6)。

他们必须这样做才能正确显示更多 PDF 文档。与 PDF 文档一样,不要求文档中的文本必须使用标准字符集。它只需要使用一种具有映射到嵌入字体中的字形的代码。


Mat*_*DMo 10

如果您查看显示的文本与“乱码”,您会发现有些字母是相同的,而有些字母被替换了。例如,“Mltmrprfsm Jblbemr”是“企业管理器”。给定足够的文本,您应该能够构建一个快速翻译表。我们已经知道M 可以转换为EL -> NTRP很清楚,F -> R等等。如果有一些时间、侦探工作和适度的编程技能,您可以翻译整个文档。

当然,不能保证下一个文档会使用Dan D. 提到的相同ff6字体,因此,如果您想保存文本以备后用,下一步应该获取该字体供本地使用。