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


19

最近,我发现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

看看打开/关闭Java脚本时会发生什么!


有点简单。他们创建了一个javascript pdf查看器。Mozilla使用Firefox做了一些事情。由于实际上并未使用您的PDF查看器来显示内容,因此它们几乎可以控制查看体验的各个方面。
Ramhound

Answers:


15

看看font-familyspan。他们使用自定义字体(在本例中为ff6)。

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


10

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

当然,不能保证下一个文档将使用Dan D.提到的相同ff6字体,因此,如果要保存文本以供以后使用,则应将该字体用于本地使用。


0

您可以尝试使用浏览器的裁剪工具捕获屏幕截图,然后使用任何易于使用的在线ocr网站将其转换为文本。那应该把你整理出来。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.