【发布时间】:2017-03-10 20:37:26
【问题描述】:
Google 文档可以“锁定”页面,使其无法从其文本中复制。这对我来说似乎是错误的;计算机的复制和粘贴能力不应该是固有的吗?我无法理解一个网页如何“超越”它的权威并阻止我的计算机做一些完全自然的事情。看来如果我可以得到服务并显示我应该能够复制它的文本。
此网页如何防止我的机器复制?
【问题讨论】:
-
它使用脚本来防止您复制文本。这在 Chrome 中通过disabling JavaScript by using the developer tools 非常容易绕过。我刚刚自己测试过,它工作正常 - 然后您可以在禁用 JavaScript 后复制和粘贴文本。至于阻止复制的脚本的具体细节,有几种可能发生这种情况的方式,其中许多可以在本网站上找到,但我不确定 Google Drive 是如何实现这一点的。
-
既然你的问题是他们如何防止复制,我不能把它作为答案。如果有人想复制文本,请滚动到页面的最底部区域,然后使用带有此命令
document.body.innerText的浏览器控制台。要获得更准确的结果 - 导航到 https://docs.google.com/document/d/[ID]/preview -
自 2019 年 9 月 9 日起,您可以创建一个 achieve of the page,然后将页面打印为 PDF,同时保留文本。但是,它会在第 30 页后破坏格式,并且项目符号被替换为“????”
-
截至 2019 年 11 月 3 日,此 javascript 会将当前文档数据复制到空白文档中。因为代码比较长,在下一条注释中给出:
-
blankDocumentink='xxxxxxxxxxxx'; a='';for(s of document.body.getElementsByTagName('script')){if(s.innerText.indexOf('DOCS_modelChunk = ')===0){a+=s.innerText.replace('DOCS_modelChunkLoadStart = new Date().getTime(); _getTimingInstance().incrementTime(\'mp\', DOCS_modelChunkLoadStart - DOCS_modelChunkParseStart); DOCS_warmStartDocumentLoader.loadModelChunk(DOCS_modelChunk); DOCS_modelChunk = undefined;', 'DOCS_warmStartDocumentLoader.loadModelChunk(DOCS_modelChunk);');}}w=open(blankDocumentink);setTimeout(w.eval, 5000, a);
标签: copy google-docs