From 8d9fde3d2531215ae0fd48bcab98b1b06ff3c3b4 Mon Sep 17 00:00:00 2001 From: Michael Ang Date: Mon, 7 Feb 2011 22:46:40 +0000 Subject: [PATCH] Remove use of global br object in Open Library record callbacks. Fix issue on IE8 with bad 'this'. --- BookReaderIA/datanode/BookReaderJSIA.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/BookReaderIA/datanode/BookReaderJSIA.php b/BookReaderIA/datanode/BookReaderJSIA.php index 37ca3b2..e38c2fa 100644 --- a/BookReaderIA/datanode/BookReaderJSIA.php +++ b/BookReaderIA/datanode/BookReaderJSIA.php @@ -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' -- 2.20.1