//
// SPDX-License-Identifier: AGPL-3.0
-export const getTagValue = (document: Document | Element, tagName: string, defaultValue: string) => {
+import { customDecodeURI } from "./url";
+
+export const getTagValue = (document: Document | Element, tagName: string, defaultValue: string, skipDecoding: boolean = false) => {
const [el] = Array.from(document.getElementsByTagName(tagName));
- return decodeURI(el ? htmlDecode(el.innerHTML) : defaultValue);
+ const URI = el ? htmlDecode(el.innerHTML) : defaultValue;
+
+ if (!skipDecoding) {
+ try {
+ return customDecodeURI(URI);
+ } catch(e) {}
+ }
+
+ return URI;
};
const htmlDecode = (input: string) => {