Ссылки по самому сайту теперь не открывают новую вкладку
This commit is contained in:
parent
e6cc0ef138
commit
778219127c
3 changed files with 30 additions and 12 deletions
|
|
@ -62,4 +62,22 @@ export function tryGetIcon(link: string): string {
|
|||
}
|
||||
|
||||
return getIconFromUrl(url) ?? icons['none'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверка на "локальность" ссылки - принадлежность её этому сайту. Используется, например,
|
||||
* в социальных ссылках, чтобы не открывать новую вкладку для страниц сайта.
|
||||
* @param link Локальная либо глобальная ссылка
|
||||
* @returns true, если ссылка не ведёт за пределы сайта
|
||||
*/
|
||||
export function isLinkLocal(link: string): boolean {
|
||||
let url: URL;
|
||||
try {
|
||||
url = new URL(link);
|
||||
} catch {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Поддомены teasanctuary.ru должны всегда быть "внешними"
|
||||
return url.hostname === "" || url.hostname === "teasanctuary.ru";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue