Skip to content

Instantly share code, notes, and snippets.

@fchasen
Last active May 20, 2017 22:46
Show Gist options
  • Save fchasen/6f028c107f82566c349d to your computer and use it in GitHub Desktop.
Save fchasen/6f028c107f82566c349d to your computer and use it in GitHub Desktop.
Get the current shown text
Book.on("renderer:visibleRangeChanged", function(cfirange) {
var text = '';
var cfi = new EPUBJS.EpubCFI();
var startRange = cfi.generateRangeFromCfi(cfirange.start, Book.renderer.render.document);
var endRange = cfi.generateRangeFromCfi(cfirange.end, Book.renderer.render.document);
// Create a new range to handle full cfi range (this should be fixed in v0.3)
var fullRange = document.createRange();
if (startRange) {
fullRange.setStart(startRange.startContainer, startRange.startOffset);
}
if (endRange) {
fullRange.setEnd(endRange.startContainer, endRange.startOffset);
}
text = fullRange.toString();
console.log(text);
});
@LordKayBanks
Copy link

hello Fchasen,

I know that the example here shows how to select everything on the page.
what I want is to be able to programmatically select a portion of the visible page.
pls help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment