2014-01-07 6 views
5

Ich habe Probleme, den Google Books-API-Viewer mit Büchern zu verwenden, die nicht nur "Vorschau", sondern die vollständig kostenlosen "Lese" -Versionen sind . Das einzige Problem ist, dass ich keine ISBN für die "Lese" -Versionen sehe und wenn ich versuche, das Buch "id" mit dem Google books-API-Viewer zu verwenden, funktioniert es nicht. Lassen Sie mich erklären.Verwendung von jQuery und Google Books API zum Laden eines Viewers basierend auf ID anstelle von ISBN

Hier ist eine funktionierende Version des API-Viewer Google Bücher ein Buch verwenden, die Vorschau nur hat:

Dies ist das Buch, das ich als Referenz einer Vorschau verwenden nur Buch:

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> 

Dies funktioniert für dieses Buch gut, da ich die ISBN-Nummer kennen, „1935626760“

Hier ist die Frage, was ist boo ks, die völlig frei sind, sind also nicht die "Vorschau" sondern "Lese" Version? Können Sie mit jQuery und der Google Books-API den Viewer anstelle der ISBN für Bücher verwenden, die keine ISBN haben?

Zum Beispiel der obige Code funktioniert nicht mit für folgendes Buch:

Lost Gip by Hesba Stretton

Dieses Buch hat eine ID von PmsNAAAAYAAJ aber keine ISBN-Nummer, die ich sehen kann. Gibt es eine Möglichkeit, dass ich immer noch die Google Buch Viewer API verwenden kann, obwohl ich nur die ID kenne?

Grundsätzlich versuche ich, es zu bekommen, damit ich einen eingebetteten Buchbetrachter auf meiner Seite für Bücher haben kann, die "gelesen" werden, wie das Buch Lost Gip von Hesba Stretton.

Wenn jemand irgendwelche Ideen oder einen besseren Weg hat, dies zu tun, würde ich es sehr schätzen. Vielen Dank!

Antwort

4

Ja, es gibt eine Antwort auf diese Frage in den viewer developer guide

die ID PmsNAAAAYAAJ verwenden, um die Zuschauer Load-Methode, zu ersetzen 'ISBN: 1935626760' In Anbetracht, mit 'PmsNAAAAYAAJ':

Das funktioniert
viewer.load('PmsNAAAAYAAJ', bookNotFound, removePreviewFooter); 
+0

perfekt! Ich hatte fast die Hoffnung aufgegeben, aber ich dachte, ich würde mich für den Stackoverflow anmelden. Ich weiß es wirklich zu schätzen, dass du mir gezeigt hast, wie es geht. Es sagt, dass ich nicht genug Ruf habe, um dich zu wählen, also wollte ich dich nur wissen lassen, dass ich sehr dankbar bin, dass du mir hilfst. Vielen Dank! – Tim2376

+0

Keine Sorgen! Freue mich zu helfen – OYRM

Verwandte Themen