Remove use of global br object in Open Library record callbacks. Fix issue on IE8...
authorMichael Ang <mang@archive.org>
Mon, 7 Feb 2011 22:46:40 +0000 (22:46 +0000)
committerMichael Ang <mang@archive.org>
Mon, 7 Feb 2011 22:46:40 +0000 (22:46 +0000)
BookReaderIA/datanode/BookReaderJSIA.php

index 37ca3b2..e38c2fa 100644 (file)
@@ -375,20 +375,22 @@ br.getEmbedCode = function(frameWidth, frameHeight, viewParams) {
 br.getOpenLibraryRecord = function(callback) {
     // Try looking up by ocaid first, then by source_record
     
-    var jsonURL = this.olHost + '/query.json?type=/type/edition&*=&ocaid=' + br.bookId;
+    var self = this; // closure
+    
+    var jsonURL = self.olHost + '/query.json?type=/type/edition&*=&ocaid=' + self.bookId;
     $.ajax({
         url: jsonURL,
         success: function(data) {
             if (data && data.length > 0) {
-                callback(br, data[0]);
+                callback(self, data[0]);
             } else {
                 // try sourceid
-                jsonURL = this.olHost + '/query.json?type=/type/edition&*=&source_records=ia:' + br.bookId;
+                jsonURL = self.olHost + '/query.json?type=/type/edition&*=&source_records=ia:' + self.bookId;
                 $.ajax({
                     url: jsonURL,
                     success: function(data) {
                         if (data && data.length > 0) {
-                            callback(br, data[0]);
+                            callback(self, data[0]);
                         }
                     },
                     dataType: 'jsonp'