-
-
Save Snarp/6c06f60899ca3f43bdd3d8170885f83f to your computer and use it in GitHub Desktop.
/* | |
<https://stackoverflow.com/questions/40296831/is-it-possible-to-force-a-copy-of-a-protected-google-doc> | |
NOTE - 2021-05-24 | |
----------------- | |
The script below isn't the fastest way to copy-and-paste from a protected | |
Google Doc. Before trying it, I'd suggest following MikoFrosty's advice from | |
the comments: | |
1) Change the end of the document url from `/edit` to `/mobilebasic`. | |
2) Disable Javascript (as described in steps 2 and 3 below). | |
3) Keeping the console open, reload the page. | |
That should be enough to allow you to copy freely. The script here is | |
*probably* only necessary if the /mobilebasic view isn't rendering something | |
correctly. | |
HOW TO USE | |
---------- | |
1) Open the protected Doc using Chrome. Scroll all the way down to the bottom | |
to make sure that it is entirely loaded. | |
2) Open Chrome Developer Tools (<Ctrl+Shift+I>), and click "Console" to open | |
the Javascript Console. | |
3) Open the Command Console (<Ctrl+Shift+P>). Type "javascript", and select | |
the option "Disable Javascript" when it appears. | |
4) Copy the script below into the Javascript console. | |
5) Leaving the Javascript Console open, you may now copy-and-paste from the | |
document as normal. (Some formatting may be broken. Closing the console may | |
re-lock copy-and-pasting.) | |
6) (OPTIONAL) To copy the entire document as plain text (no formatting), type | |
the following into the console: | |
document.body.innerText | |
The text will be loaded into the Console itself; copy it by clicking the | |
gray-highlighted "COPY" at the end. | |
*/ | |
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); |
@senhalil I tried with example that @deadcoder0904 shared and I'm attached a screenshot:
command+shift+r to switch reading mode:
As you can see, I can select all text/images by just simply command+a, copy and paste it into notes:
I would update the instructions to:
- Change the end of the document url from
/edit
to/mobilebasic
.- Disable Javascript (as described in steps 2 and 3 below).
- Keeping the console open, reload the page. Select all + copy.
- Create a new blank Google Doc. Paste.
That retained all formatting for me perfectly.
It works!!
IT WORKED
- Change the end of the document url from
/edit
to/mobilebasic
.
when I add "mobilebasic" end of url for google sheet it says
"Sorry, unable to open the file at present.Please check the address and try again."
- Change the end of the document url from
/edit
to/mobilebasic
.when I add "mobilebasic" end of url for google sheet it says "Sorry, unable to open the file at present.Please check the address and try again."
same
it works!
I found a workaround in /mobilebasic
without having to disable JavaScript. You just have to rename the docsshared-no-select
class to anything else and the script that prevents you from copying stops working.
sure here source code to download
https://github.com/VHAE04/copy-protected-doc
demo https://www.youtube.com/watch?v=fMW65aVWOmg