<div class="separator"></div>
- <input type="text" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4"/>
+ <input type="number" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1" />
<span>/</span>
<span id="numPages">--</span>
var kCacheSize = 20;
var kCssUnits = 96.0 / 72.0;
var kScrollbarPadding = 40;
+var kMinScale = 0.25;
+var kMaxScale = 4.0;
var Cache = function(size) {
},
zoomIn: function() {
- this.setScale(this.currentScale * kDefaultScaleDelta, true);
+ var newScale = Math.min(kMaxScale, this.currentScale * kDefaultScaleDelta);
+ this.setScale(newScale, true);
},
zoomOut: function() {
- this.setScale(this.currentScale / kDefaultScaleDelta, true);
+ var newScale = Math.max(kMinScale, this.currentScale / kDefaultScaleDelta);
+ this.setScale(newScale, true);
},
set page(val) {
var pdf = new PDFDoc(data);
var pagesCount = pdf.numPages;
document.getElementById('numPages').innerHTML = pagesCount;
+ document.getElementById('pageNumber').max = pagesCount;
var pages = this.pages = [];
var pagesRefMap = {};
}, true);
window.addEventListener('keydown', function keydown(evt) {
+ var curElement = document.activeElement;
+ var controlsElement = document.getElementById('controls');
+ while (curElement) {
+ if (curElement === controlsElement)
+ return; // ignoring if the 'controls' element is focused
+ curElement = curElement.parentNode;
+ }
switch (evt.keyCode) {
case 61: // FF/Mac '='
case 107: // FF '+' and '='