use URL API to identify remote hrefs

This commit is contained in:
ansuz 2022-05-30 17:20:03 +05:30
parent c0d2af50ef
commit dc071d0095
1 changed files with 10 additions and 1 deletions

View File

@ -90,12 +90,21 @@ define([
});
});
var isLocalURL = url => {
try {
return new URL(url, window.location.href).origin === window.location.origin;
} catch (err) {
console.error(err);
return /^\//.test(url);
}
};
var pageLink = function (ref, loc, text) {
if (!ref) { return; }
var attrs = {
href: ref,
};
if (!/^\//.test(ref)) {
if (!isLocalURL(ref)) {
attrs.target = '_blank';
attrs.rel = 'noopener noreferrer';
}