Make the 'download' button behavior more robust
This commit is contained in:
parent
6d2c5414bf
commit
f3dc4206ee
@ -48,16 +48,12 @@ pdfContentHandler.prototype = {
|
|||||||
throw NS_ERROR_WONT_HANDLE_CONTENT;
|
throw NS_ERROR_WONT_HANDLE_CONTENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// To allow a Download feature we need to ensure pdf.js
|
let targetUrl = aRequest.URI.spec;
|
||||||
// is not opened again if the request for opening an
|
if (targetUrl.indexOf('?pdfjs.action=download') >= 0)
|
||||||
// application/pdf document has been done by itself.
|
|
||||||
let location = window.location.toString();
|
|
||||||
if (location.indexOf(url.replace('%s', '')) == 0)
|
|
||||||
throw NS_ERROR_WONT_HANDLE_CONTENT;
|
throw NS_ERROR_WONT_HANDLE_CONTENT;
|
||||||
|
|
||||||
aRequest.cancel(Cr.NS_BINDING_ABORTED);
|
aRequest.cancel(Cr.NS_BINDING_ABORTED);
|
||||||
let uri = aRequest.URI;
|
window.location = url.replace('%s', targetUrl);
|
||||||
window.location = url.replace('%s', uri.spec);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
classID: Components.ID('{2278dfd0-b75c-11e0-8257-1ba3d93c9f1a}'),
|
classID: Components.ID('{2278dfd0-b75c-11e0-8257-1ba3d93c9f1a}'),
|
||||||
|
@ -85,10 +85,6 @@ var PDFView = {
|
|||||||
this.setScale(newScale, true);
|
this.setScale(newScale, true);
|
||||||
},
|
},
|
||||||
|
|
||||||
download: function pdfViewDownload() {
|
|
||||||
window.open(document.title, '_parent', 'pdf=yes');
|
|
||||||
},
|
|
||||||
|
|
||||||
set page(val) {
|
set page(val) {
|
||||||
var pages = this.pages;
|
var pages = this.pages;
|
||||||
var input = document.getElementById('pageNumber');
|
var input = document.getElementById('pageNumber');
|
||||||
@ -119,7 +115,7 @@ var PDFView = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
open: function pdfViewOpen(url, scale) {
|
open: function pdfViewOpen(url, scale) {
|
||||||
document.title = url;
|
document.title = this.url = url;
|
||||||
|
|
||||||
getPdf(
|
getPdf(
|
||||||
{
|
{
|
||||||
@ -135,6 +131,10 @@ var PDFView = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
download: function pdfViewDownload() {
|
||||||
|
window.open(this.url + '?pdfjs.action=download', '_parent');
|
||||||
|
},
|
||||||
|
|
||||||
navigateTo: function pdfViewNavigateTo(dest) {
|
navigateTo: function pdfViewNavigateTo(dest) {
|
||||||
if (typeof dest === 'string')
|
if (typeof dest === 'string')
|
||||||
dest = this.destinations[dest];
|
dest = this.destinations[dest];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user