javascript - 如何使用 jQuery 和 Google Books API 加载基于 ID 而不是 ISBN 的阅读器

标签 javascript jquery api

我无法让 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”

这里的问题是,完全免费的书籍不是“仅预览”而是“阅读”版本怎么办?对于那些没有 ISBN 的图书,您能否使用 jQuery 和 Google Books API 让查看器基于 ID 而不是 ISBN?

例如,上面的代码不适用于以下书籍:

Lost Gip by Hesba Stretton

这本书的 ID 是 PmsNAAAAYAAJ,但我看不到 ISBN 号。有没有一种方法可以让我在只知道 ID 的情况下仍然可以使用 Google 图书查看器 API?

基本上,我正在尝试获取它,这样我就可以在我的网站上安装一个嵌入式图书查看器,用于“已读”版本的图书,例如 Hesba Stretton 的《Lost Gip》一书。

如果有人对此有任何想法或更好的方法,我将不胜感激。谢谢!

最佳答案

是的,viewer developer guide 中有这个问题的答案

给定 ID PmsNAAAAYAAJ,使用查看器加载方法,将“ISBN:1935626760”替换为“PmsNAAAAYAAJ”:

viewer.load('PmsNAAAAYAAJ', bookNotFound, removePreviewFooter);

关于javascript - 如何使用 jQuery 和 Google Books API 加载基于 ID 而不是 ISBN 的阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20977601/

相关文章:

javascript - 字符串文字在 Chrome、Firefox 中导致 "Unexpected token ILLEGAL"

api - Skype 的用户在线状态是否仍然可以获取?

javascript - Twitter Bootstrap 获取复选框按钮组的状态

javascript - JSON 访问数据 - 奇怪的行为

javascript - 如何在React Native中获取选定的元素?

javascript - AngularJs 清理和显示 html

javascript - Unslider(JS 问题?)在页面刷新时中断

javascript - 在 jsviews 中绑定(bind)到表单的正确语法(提交 26)

javascript - jQuery - 返回 NaN 的简单数学

Javascript:根据当前日期检查格式化的日期值?