2019-03-27 13:38:24 +00:00
|
|
|
export interface IMetaObject {
|
|
|
|
title: string;
|
|
|
|
description: string;
|
2020-03-06 09:57:31 +00:00
|
|
|
canonicalDomain?: string;
|
2019-03-27 13:38:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export const setupMetaInformation = async (metaObjectArg: IMetaObject) => {
|
|
|
|
document.title = metaObjectArg.title;
|
|
|
|
addMetaTag('description', metaObjectArg.description);
|
|
|
|
addMetaTag('google', 'notranslate');
|
|
|
|
addMetaTag('revisited-after', '1 days');
|
2020-03-06 09:57:31 +00:00
|
|
|
metaObjectArg.canonicalDomain ? addLinkTag('canonical', metaObjectArg.canonicalDomain) : null;
|
2019-03-27 13:38:24 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const addMetaTag = async (linkNameArg: string, contentArg: string) => {
|
|
|
|
const metaElement = document.createElement('meta');
|
|
|
|
metaElement.name = linkNameArg;
|
|
|
|
metaElement.content = contentArg;
|
|
|
|
document.getElementsByTagName('head')[0].appendChild(metaElement);
|
|
|
|
};
|
2020-03-06 09:57:31 +00:00
|
|
|
|
|
|
|
const addLinkTag = async (relArg, hrefArg) => {
|
|
|
|
const link = !!document.querySelector("link[rel='canonical']")
|
|
|
|
? document.querySelector("link[rel='canonical']")
|
|
|
|
: document.createElement('link');
|
|
|
|
link.setAttribute('rel', relArg);
|
|
|
|
link.setAttribute('href', hrefArg);
|
|
|
|
document.head.appendChild(link);
|
|
|
|
};
|