Skip to content

Instantly share code, notes, and snippets.

@CodingFabian
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CodingFabian/11178827 to your computer and use it in GitHub Desktop.
Save CodingFabian/11178827 to your computer and use it in GitHub Desktop.
diff --git a/src/display/api.js b/src/display/api.js
index 103285b..8b281d7 100644
--- a/src/display/api.js
+++ b/src/display/api.js
@@ -134,6 +134,15 @@ PDFJS.verbosity = (PDFJS.verbosity === undefined ?
PDFJS.VERBOSITY_LEVELS.warnings : PDFJS.verbosity);
/**
+ * Default html target attribute used when links in PDFs do not define targets.
+ * Common values are "_blank" or "_top".
+ * Defaults to not generating the target attribute.
+ * @var {string}
+ */
+PDFJS.defaultLinkTarget = (PDFJS.defaultLinkTarget === undefined ?
+ '' : PDFJS.defaultLinkTarget);
+
+/**
* Document initialization / loading parameters object.
*
* @typedef {Object} DocumentInitParameters
diff --git a/src/shared/annotation.js b/src/shared/annotation.js
index ff46ab9..7fc9a7b 100644
--- a/src/shared/annotation.js
+++ b/src/shared/annotation.js
@@ -843,6 +843,10 @@ var LinkAnnotation = (function LinkAnnotationClosure() {
var link = document.createElement('a');
link.href = link.title = this.data.url || '';
+ if (!link.target && PDFJS.defaultLinkTarget) {
+ link.target = PDFJS.defaultLinkTarget;
+ }
+
container.appendChild(link);
return container;
diff --git a/web/viewer.js b/web/viewer.js
index 9c11985..20f8586 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -1806,6 +1806,10 @@ function webViewerInitialized() {
PDFJS.verbosity = hashParams['verbosity'] | 0;
}
+ if ('defaultLinkTarget' in hashParams) {
+ PDFJS.defaultLinkTarget = hashParams['defaultLinkTarget'] | '';
+ }
+
if ('ignoreCurrentPositionOnZoom' in hashParams) {
IGNORE_CURRENT_POSITION_ON_ZOOM =
(hashParams['ignoreCurrentPositionOnZoom'] === 'true');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment