Merge pull request #12286 from Snuffleupagus/bug-1661259
Use a link, rather than `window.open`, when opening PDF attachments in Firefox (bug 1661259)
This commit is contained in:
commit
a6f66891cc
@ -118,7 +118,22 @@ class PDFAttachmentViewer extends BaseTreeViewer {
|
|||||||
encodeURIComponent(blobUrl + "#" + filename);
|
encodeURIComponent(blobUrl + "#" + filename);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
window.open(viewerUrl);
|
if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) {
|
||||||
|
window.open(viewerUrl);
|
||||||
|
} else {
|
||||||
|
// Since we have a full URL in the MOZCENTRAL-build, use a link rather
|
||||||
|
// than `window.open` since e.g. ad blockers may otherwise force-close
|
||||||
|
// the newly opened window and thus break viewing of PDF attachments
|
||||||
|
// (fixes bug 1661259).
|
||||||
|
const a = document.createElement("a");
|
||||||
|
a.hidden = true;
|
||||||
|
a.href = viewerUrl;
|
||||||
|
a.target = "_blank";
|
||||||
|
// <a> must be in the document, otherwise `a.click()` is ignored.
|
||||||
|
(document.body || document.documentElement).appendChild(a);
|
||||||
|
a.click();
|
||||||
|
a.remove();
|
||||||
|
}
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
console.error(`_bindPdfLink: ${ex}`);
|
console.error(`_bindPdfLink: ${ex}`);
|
||||||
// Release the `blobUrl`, since opening it failed...
|
// Release the `blobUrl`, since opening it failed...
|
||||||
|
Loading…
x
Reference in New Issue
Block a user