From 5e04ad5e3a40803e0c051533d9d51231a046d867 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Wed, 15 Feb 2012 16:03:04 -0800 Subject: [PATCH] Move special debug flags to the hash section of the url. --- web/viewer.js | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/web/viewer.js b/web/viewer.js index 602979e2e..41b9fcfc6 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -509,13 +509,7 @@ var PDFView = { return; if (hash.indexOf('=') >= 0) { - // parsing query string - var paramsPairs = hash.split('&'); - var params = {}; - for (var i = 0; i < paramsPairs.length; ++i) { - var paramPair = paramsPairs[i].split('='); - params[paramPair[0]] = paramPair[1]; - } + var params = PDFView.parseQueryString(hash); // borrowing syntax from "Parameters for Opening PDF Files" if ('nameddest' in params) { PDFView.navigateTo(params.nameddest); @@ -627,6 +621,16 @@ var PDFView = { } return visibleThumbs; + }, + + // Helper function to parse query string (e.g. ?param1=value&parm2=...). + parseQueryString: function pdfViewParseQueryString(query) { + var params = query.split('&'); + for (var i = 0; i < params.length; i++) { + var param = params[i].split('='); + params[unescape(param[0])] = unescape(param[1]); + } + return params; } }; @@ -1097,16 +1101,11 @@ var TextLayerBuilder = function textLayerBuilder(textLayerDiv) { }; window.addEventListener('load', function webViewerLoad(evt) { - var params = document.location.search.substring(1).split('&'); - for (var i = 0; i < params.length; i++) { - var param = params[i].split('='); - params[unescape(param[0])] = unescape(param[1]); - } + var params = PDFView.parseQueryString(document.location.search.substring(1)); - var scale = ('scale' in params) ? params.scale : 0; var file = PDFJS.isFirefoxExtension ? window.location.toString() : params.file || kDefaultURL; - PDFView.open(file, parseFloat(scale)); + PDFView.open(file, 0); if (PDFJS.isFirefoxExtension || !window.File || !window.FileReader || !window.FileList || !window.Blob) { @@ -1117,15 +1116,19 @@ window.addEventListener('load', function webViewerLoad(evt) { document.getElementById('fileInput').value = null; } - if ('disableWorker' in params) - PDFJS.disableWorker = (params['disableWorker'] === 'true'); + // Special debugging flags in the hash section of the URL. + var hash = document.location.hash.substring(1); + var hashParams = PDFView.parseQueryString(hash); - if ('disableTextLayer' in params) - PDFJS.disableTextLayer = (params['disableTextLayer'] === 'true'); + if ('disableWorker' in hashParams) + PDFJS.disableWorker = (hashParams['disableWorker'] === 'true'); - if ('pdfBug' in params) { + if ('disableTextLayer' in hashParams) + PDFJS.disableTextLayer = (hashParams['disableTextLayer'] === 'true'); + + if ('pdfBug' in hashParams) { PDFJS.pdfBug = true; - var pdfBug = params['pdfBug']; + var pdfBug = hashParams['pdfBug']; var all = false, enabled = []; if (pdfBug === 'all') all = true;