Move special debug flags to the hash section of the url.

This commit is contained in:
Brendan Dahl 2012-02-15 16:03:04 -08:00
parent f17a1679eb
commit 5e04ad5e3a

View File

@ -509,13 +509,7 @@ var PDFView = {
return; return;
if (hash.indexOf('=') >= 0) { if (hash.indexOf('=') >= 0) {
// parsing query string var params = PDFView.parseQueryString(hash);
var paramsPairs = hash.split('&');
var params = {};
for (var i = 0; i < paramsPairs.length; ++i) {
var paramPair = paramsPairs[i].split('=');
params[paramPair[0]] = paramPair[1];
}
// borrowing syntax from "Parameters for Opening PDF Files" // borrowing syntax from "Parameters for Opening PDF Files"
if ('nameddest' in params) { if ('nameddest' in params) {
PDFView.navigateTo(params.nameddest); PDFView.navigateTo(params.nameddest);
@ -627,6 +621,16 @@ var PDFView = {
} }
return visibleThumbs; 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) { window.addEventListener('load', function webViewerLoad(evt) {
var params = document.location.search.substring(1).split('&'); var params = PDFView.parseQueryString(document.location.search.substring(1));
for (var i = 0; i < params.length; i++) {
var param = params[i].split('=');
params[unescape(param[0])] = unescape(param[1]);
}
var scale = ('scale' in params) ? params.scale : 0;
var file = PDFJS.isFirefoxExtension ? var file = PDFJS.isFirefoxExtension ?
window.location.toString() : params.file || kDefaultURL; window.location.toString() : params.file || kDefaultURL;
PDFView.open(file, parseFloat(scale)); PDFView.open(file, 0);
if (PDFJS.isFirefoxExtension || !window.File || !window.FileReader || if (PDFJS.isFirefoxExtension || !window.File || !window.FileReader ||
!window.FileList || !window.Blob) { !window.FileList || !window.Blob) {
@ -1117,15 +1116,19 @@ window.addEventListener('load', function webViewerLoad(evt) {
document.getElementById('fileInput').value = null; document.getElementById('fileInput').value = null;
} }
if ('disableWorker' in params) // Special debugging flags in the hash section of the URL.
PDFJS.disableWorker = (params['disableWorker'] === 'true'); var hash = document.location.hash.substring(1);
var hashParams = PDFView.parseQueryString(hash);
if ('disableTextLayer' in params) if ('disableWorker' in hashParams)
PDFJS.disableTextLayer = (params['disableTextLayer'] === 'true'); 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; PDFJS.pdfBug = true;
var pdfBug = params['pdfBug']; var pdfBug = hashParams['pdfBug'];
var all = false, enabled = []; var all = false, enabled = [];
if (pdfBug === 'all') if (pdfBug === 'all')
all = true; all = true;