Google文档可以“锁定”某个页面,以便无法从其文本中复制。这对我来说似乎不对;计算机的复制和粘贴能力不应该是内在的吗?我无法理解网页如何“超越”其权限并阻止我的计算机做一些完全自然的事情。似乎如果我可以服务并显示文本,我应该能够复制它。
此网页如何阻止我的机器复制?
答案 0 :(得分:15)
在Chrome中禁用javascript不再有效。在您重新打开数据之前,它不会为您提供数据。
这是一种访问和复制受保护的Google工作表数据的简单方法。
只需将网址更改为:
即可https://docs.google.com/spreadsheets/u/1/d/ [文件ID] /预览
文档ID是在google工作表网址中找到的随机字符串,通常为40到45个字符。
答案 1 :(得分:6)
截至2018年5月10日,禁用JavaScript根本不会加载文档,将“编辑”更改为“预览”也不再有效。
我发现如果点击三个点并转到: 更多工具>开发人员工具,然后单击控制台,并键入'document.body.innerText',它将整个文档作为文本文件加载,以便您可以复制到您的内容。
答案 2 :(得分:2)
编辑:这不再适用
我发现他们是如何禁用复制的,所以我将我的评论转化为答案。
这是在阻止复制的页面上运行的脚本:
function rtcScript() {
document.oncontextmenu = null;
document.onselectstart = null;
document.onmousedown = null;
document.onclick = null;
document.oncopy = null;
document.oncut = null;
var elements = document.getElementsByTagName('*');
for (var i = 0; i < elements.length; i++) {
elements[i].oncontextmenu = null;
elements[i].onselectstart = null;
elements[i].onmousedown = null;
elements[i].oncopy = null;
elements[i].oncut = null;
}
function preventShareThis() {
document.getSelection = window.getSelection = function() {
return {isCollapsed: true};
}
}
var scripts = document.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
if (scripts[i].src.indexOf('w.sharethis.com') > -1) {
preventShareThis();
}
}
if (typeof Tynt != 'undefined') {
Tynt = null;
}
}
rtcScript();
setInterval(rtcScript, 2000);
请注意,它将每个元素设置为不可复制,可选择或可剪切,以及禁用上下文菜单。通过禁用页面上的脚本可以轻松绕过这一点。有关如何在Chrome上执行此操作,请参阅this question。我自己对此进行了测试 - 如果您在查看锁定文档时通过该方法禁用JavaScript,则可以立即开始选择并复制文本而不会出现问题。
答案 3 :(得分:1)
我尝试了其他选项,但没有一个适合我 - 然后,尝试下载网页并保存链接。从文档重新打开,然后我能够以PDF格式下载。
答案 4 :(得分:1)
使用开发人员工具禁用javascript,右键单击页面,单击“打印”,将打印机的打印目标更改为“另存为pdf”,就可以了。