Files
upstream-jitsi-meet/react/features/base/util/openURLInBrowser.web.ts
upstream-mirror 1d2bfcac0c
Some checks failed
Prosody Plugin Tests / test (push) Failing after 10m11s
Close stale issues and PRs / stale (push) Failing after 1s
snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
2026-09-15 15:56:32 +05:00

31 lines
695 B
TypeScript

import logger from './logger';
/**
* Opens URL in the browser.
*
* @param {string} url - The URL to be opened.
* @param {boolean} openInNewTab - If the link should be opened in a new tab.
* @returns {void}
*/
export function openURLInBrowser(url: string, openInNewTab?: boolean) {
let parsed;
try {
parsed = new URL(url);
} catch {
logger.warn(`Blocked invalid URL: ${url}`);
return;
}
if (![ 'http:', 'https:' ].includes(parsed.protocol)) {
logger.warn(`Blocked URL with disallowed protocol: ${parsed.protocol}`);
return;
}
const target = openInNewTab ? '_blank' : '';
window.open(url, target, 'noopener');
}