diff --git a/web/viewer.js b/web/viewer.js index 0e7cd59db..12a42006f 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -29,6 +29,9 @@ function queryParams() { function open(url) { document.title = url; + if (url.indexOf("http") == 0) + return; + var req = new XMLHttpRequest(); req.open('GET', url); req.mozResponseType = req.responseType = 'arraybuffer'; @@ -37,15 +40,23 @@ function open(url) { if (req.readyState == 4 && req.status == req.expected) { var data = (req.mozResponseArrayBuffer || req.mozResponse || req.responseArrayBuffer || req.response); - pdfDocument = new PDFDoc(new Stream(data)); - numPages = pdfDocument.numPages; - document.getElementById('numPages').innerHTML = numPages.toString(); - goToPage(pageNum); + loadDocument(data); } }; req.send(null); } +window.addEventListener("pdfloaded", function(aEvent) { + loadDocument(aEvent.detail); +}, true); + +function loadDocument(data) { + pdfDocument = new PDFDoc(new Stream(data)); + numPages = pdfDocument.numPages; + document.getElementById('numPages').innerHTML = numPages.toString(); + goToPage(pageNum); +} + function gotoPage(num) { if (0 <= num && num <= numPages) pageNum = num;