Skip to content

Instantly share code, notes, and snippets.

@kazukgw
Last active June 27, 2022 22:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kazukgw/97bf7e5a4624a555ae41 to your computer and use it in GitHub Desktop.
Save kazukgw/97bf7e5a4624a555ae41 to your computer and use it in GitHub Desktop.
KindleCloudReaderで書籍一覧をjsonとして出力やつ
setTimeout(function(){
var $button =
$('<div id="__download_button" style="' +
' position: fixed;' +
' top: 5px;' +
' right: 200px;' +
' border-radius: 5px;' +
' background: gray;' +
' padding: 8px;' +
' border-top: 1px white solid;' +
' border-bottom: 1px black solid;' +
' cursor: pointer;' +
' color: white;' +
'">download kindle_books.json</div>');
var $doc = $($('#KindleLibraryIFrame')[0].contentWindow.document);
function download() {
var $containers = $doc.find('.book_container');
var books = [];
$containers.each(function(){
var $c = $(this);
books.push({
title: $c.find('.book_title').text(),
author: $c.find('.book_author').text(),
cover: $c.find('.book_image').prop('src')
});
});
var bookData= new Blob([JSON.stringify(books, null, 4)], {type: 'text/json'});
var ev = document.createEvent('MouseEvents');
var $a = document.createElement('a')
$a.download = 'kindle_books.json';
$a.href = window.URL.createObjectURL(bookData);
$a.dataset.downloadurl = ['text/json', $a.download, $a.href].join(':')
ev.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
$a.dispatchEvent(ev)
}
$doc.find('#header_center').append($button);
$button.on('click', download);
}, 3000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment