Make PDFHistory optional in PDFLinkService
Currently `PDFLinkService` requires access to a `PDFHistory` instance in order for it to work correctly (and to avoid errors). If we want `PDFLinkService` to be more useful in custom viewers, I don't think that we actually want to force it to have a `PDFHistory` instance. Hence this patch, which contains a very simply approach to make `PDFHistory` optional.
This commit is contained in:
parent
189ef974b1
commit
20881dc99a
@ -89,12 +89,14 @@ var PDFLinkService = (function () {
|
||||
}
|
||||
self.pdfViewer.scrollPageIntoView(pageNumber, dest);
|
||||
|
||||
// Update the browsing history.
|
||||
self.pdfHistory.push({
|
||||
dest: dest,
|
||||
hash: destString,
|
||||
page: pageNumber
|
||||
});
|
||||
if (self.pdfHistory) {
|
||||
// Update the browsing history.
|
||||
self.pdfHistory.push({
|
||||
dest: dest,
|
||||
hash: destString,
|
||||
page: pageNumber
|
||||
});
|
||||
}
|
||||
} else {
|
||||
self.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
|
||||
var pageNum = pageIndex + 1;
|
||||
@ -173,7 +175,9 @@ var PDFLinkService = (function () {
|
||||
var params = parseQueryString(hash);
|
||||
// borrowing syntax from "Parameters for Opening PDF Files"
|
||||
if ('nameddest' in params) {
|
||||
this.pdfHistory.updateNextHashParam(params.nameddest);
|
||||
if (this.pdfHistory) {
|
||||
this.pdfHistory.updateNextHashParam(params.nameddest);
|
||||
}
|
||||
this.navigateTo(params.nameddest);
|
||||
return;
|
||||
}
|
||||
@ -233,7 +237,9 @@ var PDFLinkService = (function () {
|
||||
} else if (/^\d+$/.test(hash)) { // page number
|
||||
this.page = hash;
|
||||
} else { // named destination
|
||||
this.pdfHistory.updateNextHashParam(unescape(hash));
|
||||
if (this.pdfHistory) {
|
||||
this.pdfHistory.updateNextHashParam(unescape(hash));
|
||||
}
|
||||
this.navigateTo(unescape(hash));
|
||||
}
|
||||
},
|
||||
@ -245,11 +251,15 @@ var PDFLinkService = (function () {
|
||||
// See PDF reference, table 8.45 - Named action
|
||||
switch (action) {
|
||||
case 'GoBack':
|
||||
this.pdfHistory.back();
|
||||
if (this.pdfHistory) {
|
||||
this.pdfHistory.back();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'GoForward':
|
||||
this.pdfHistory.forward();
|
||||
if (this.pdfHistory) {
|
||||
this.pdfHistory.forward();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'NextPage':
|
||||
|
Loading…
Reference in New Issue
Block a user