是否可以强制复制受保护的Google文档?

Is it possible to force a copy of a protected Google doc?

Google文档可以"锁定"页面,因此无法从其文本进行复制。 对我来说这似乎是错误的; 计算机的复制和粘贴能力不应该是固有的吗? 我无法理解网页如何"超越"其权限并阻止计算机执行完全自然的操作。 看来,如果我可以得到服务并显示文字,则应该可以复制它。

该网页如何防止我的机器被复制?


在Chrome中禁用javascript不再有效。在重新打开数据之前,它不会为您提供数据。

这是访问和复制受保护的Google表格数据的非常简单的方法。

只需将URL地址更改为:

https://docs.google.com/spreadsheets/u/1/d/ [文档ID] /预览

文档ID是在Google表格URL中找到的随机字符串,通常为40至45个字符。


从2018年5月10日开始,禁用JavaScript根本不会加载文档,将'edit'更改为'preview'也不再起作用。

我发现,如果您单击三个点并转到:
单击更多工具>开发人员工具,然后单击控制台,然后键入'document.body.innerText',它将整个文档加载为文本文件,以便您可以复制到自己的内心。


编辑:这不再起作用

我发现他们是如何禁用复制的,所以我将自己的评论变成了答案。

这是阻止复制的页面上运行的脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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上执行操作的信息,请参见此问题。我已经亲自测试过-如果您在查看锁定的文档时通过该方法禁用了JavaScript,则可以立即开始选择并复制文本。


使用开发人员工具禁用javascript,右键单击页面,单击"打印",将打印机的打印目标更改为"另存为pdf",就可以了。


我尝试了其他选项,但没有一个对我有用-然后,尝试下载网页并保存链接。从docs重新打开,然后我就可以将其下载为PDF。