-
-
Save aaronshaf/1346968 to your computer and use it in GitHub Desktop.
javascript: (function () { | |
new_window = window.open(); | |
new_window.document.body.innerHTML = $("iframe") | |
.contents() | |
.find("iframe") | |
.contents() | |
.find("body") | |
.get(1).innerHTML; | |
new_window.document.body.querySelector("#content-overlays").remove(); | |
})(); |
javascript:(function(){new_window=window.open();new_window.document.body.innerHTML=$("iframe").contents().find("iframe").contents().find("body").get(1).innerHTML;new_window.document.body.querySelector("#content-overlays").remove();})(); |
javascript: (function () { | |
document.body.innerHTML = $("iframe") | |
.contents() | |
.find("iframe") | |
.contents() | |
.find("body") | |
.get(1).innerHTML; | |
document.body.querySelector("#content-overlays").remove(); | |
document.head.querySelectorAll("link[type]").item(0).remove(); | |
Array.from(document.querySelectorAll("span.k4w")).forEach((span) => { | |
span.outerHTML = span.textContent; | |
}); | |
})(); |
javascript:(function () { document.body.innerHTML = $("iframe") .contents() .find("iframe") .contents() .find("body") .get(1).innerHTML; document.body.querySelector("#content-overlays").remove(); document.head.querySelectorAll('link[type]').item(0).remove(); Array.from(document.querySelectorAll('span.k4w')).forEach((span) => { span.outerHTML = span.textContent }); })(); |
Making it a bookmarklet was the best idea ever, thanks! I've been trying to find a solution for this for a while now. Worked like a charm.
I made a bookmarklet version: https://gist.github.com/Neurogami/cc4a2224632f491c18cfce782cd706f6
I made a bookmarklet version: https://gist.github.com/Neurogami/cc4a2224632f491c18cfce782cd706f6
Thank you, this is awesome!
Don't work today. Can you help?
I have tried all the tips and no one worked. Problems with "inner.HTML" or "nothing happened".... Can you help?
It seems it doesn't work anymore 😢
They got smarter.
I've been able to write a script for copying text from kindle cloud reader for years. Every time they'd just bury the text sneakier and sneakier but if it was in the DOM then you'd get to it eventually. Now they're rendering all the text out as images. They finally stumped me lol. I haven't dabbled with image to text before but regardless it seems like the days of the humble javascript bookmark might be postponed indefinitely.
OCR works for me, e.g. https://addons.mozilla.org/de/firefox/addon/copyfish-ocr-software/
If you are on Windows you can try Power Toys' Text Extractor, using win-shift-T. (it handles line breaks poorly, but…)
https://learn.microsoft.com/en-us/windows/powertoys/text-extractor
Is there a way to fetch all the highlighted/annotated text?
I found an API that https://read.amazon.com/service/mobile/reader/getAnnotations
that can fetch all the annotations but it trims the text.
annotations": [ { "action": null, "asin": "B00KHX0II4", "context": "WHENEVER I INTERVIEW someone for a job, I like to ask this question: “What important truth do very few", "deviceType": null, "dsn": "A2CTZ977SKFQZY00A1DMFVGPSDC5D6", "end": 2804, "guid": "CR!PHRBPX0FRX5Q335QZ3CR3J4D92EC", "highlightColor": null, "isSample": null, "modifiedTimestamp": 1527091882000, "note": null, "position": 2648, "positionType": "Mobi7", "start": 2648, "type": "kindle.highlight" }]
There is a context field that returns the annotated/highlighted text but it trims the text. It does not show the complete text.
Is there a way to fetch the highlights/annotated in realtime?
Easy copy with this extension https://chrome.google.com/webstore/detail/kindle-reader-cloud-tools/mahdfgndibpomhlkckklblllfefbliem
there are multiple iframe elements, we should pick up the last iframe instead, use this snippet instead