diff --git a/extension/pages/options.html b/extension/pages/options.html
index 062d24c1..d425966a 100644
--- a/extension/pages/options.html
+++ b/extension/pages/options.html
@@ -48,6 +48,9 @@
Add-ons
"clickableUrls" - Make URLs clickable (boolean). Default true
+
+ "wrapLinkWithAnchorTag" - Add URLs as anchor tag (boolean). Default false
+
"openLinksInNewWindow" - Open URLs in the same window/tab (boolean). Default true
diff --git a/extension/src/json-viewer/highlighter.js b/extension/src/json-viewer/highlighter.js
index 50c34ce9..ff7b1d86 100644
--- a/extension/src/json-viewer/highlighter.js
+++ b/extension/src/json-viewer/highlighter.js
@@ -91,6 +91,14 @@ Highlighter.prototype = {
elements.forEach(function(node) {
node.classList.add("cm-string-link");
node.setAttribute("data-url", decodedText);
+ if (self.wrapLinkWithAnchorTag()) {
+ var linkTag = document.createElement("a");
+ linkTag.href = decodedText;
+ linkTag.setAttribute('target', '_blank')
+ linkTag.innerHTML = decodedText;
+ node.innerHTML = "";
+ node.appendChild(linkTag);
+ }
});
}
});
@@ -200,6 +208,10 @@ Highlighter.prototype = {
return this.options.addons.clickableUrls;
},
+ wrapLinkWithAnchorTag: function() {
+ return this.options.addons.wrapLinkWithAnchorTag;
+ },
+
openLinksInNewWindow: function() {
return this.options.addons.openLinksInNewWindow;
},
diff --git a/extension/src/json-viewer/options/defaults.js b/extension/src/json-viewer/options/defaults.js
index d57237c2..a3ae3f7e 100644
--- a/extension/src/json-viewer/options/defaults.js
+++ b/extension/src/json-viewer/options/defaults.js
@@ -7,6 +7,7 @@ module.exports = {
alwaysRenderAllContent: false,
sortKeys: false,
clickableUrls: true,
+ wrapLinkWithAnchorTag: false,
openLinksInNewWindow: true,
autoHighlight: true
},