我无法让Google Books API查看器处理不仅仅是“预览”但完全免费的“阅读”版本的图书。唯一的问题是,我没有看到“阅读”版本的ISBN,当我尝试将书籍“id”与Google图书API查看器一起使用时,它不起作用。让我解释一下。
以下是使用仅预览的图书的Google图书API查看器的工作版本:
这是我用作预览书的参考书:
Jessica's Mother by Hesba Stretton
<html>
<head>
<style type="text/css">
#viewer {width:700px;height:80%;padding:30px;margin-left:auto;margin-right:auto;margin-top:20px;background:#fff;box-shadow: 2px 2px 5px 4px #888888;border-radius:10px;}
#viewerCanvas {width:100%;height:100%;}
</style>
<title>Removing the Footer in Google Books Embedded Viewer API Example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("books", "0");
function initialize() {
var display_options = {showLinkChrome: false};
var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'),display_options);
viewer.load('ISBN:1935626760', bookNotFound, removePreviewFooter);
}
function bookNotFound() {
document.getElementById('viewerCanvas').innerHTML="<h1>No Preview!</h1>";
}
function removePreviewFooter() {
$('#viewerCanvas > div > div:nth-child(2)').css('display','none');
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body style="background:#ececec;">
<div id="viewer">
<div id="viewerCanvas"></div>
</div>
</body>
</html>
这对本书很有用,因为我知道ISBN号,“1935626760”
这是一个问题,那些完全免费的书籍不是“仅预览”而是“阅读”版本?您是否可以使用jQuery和Google Books API让查看器基于id而不是那些没有ISBN的书籍的ISBN?
例如,上述代码不适用于以下书籍:
这本书的ID为PmsNAAAAYAAJ
但我没有ISBN编号。有没有办法我仍然可以使用Google图书查看器API,即使我只知道ID?
基本上,我正在尝试这样做,所以我可以在我的网站上安装一个嵌入式书籍阅读器,用于“阅读”版本的书籍,如Hesba Stretton的书“Lost Gip”。
如果有人有任何想法或更好的方法来解决这个问题,我将非常感激。谢谢!
答案 0 :(得分:4)
鉴于ID PmsNAAAAYAAJ使用查看器加载方法,将'ISBN:1935626760'替换为'PmsNAAAAYAAJ':
viewer.load('PmsNAAAAYAAJ', bookNotFound, removePreviewFooter);