diff --git a/src/recorder/index.js b/src/recorder/index.js index 43a413f15..6c62fa6fb 100644 --- a/src/recorder/index.js +++ b/src/recorder/index.js @@ -12,14 +12,20 @@ import { record } from 'rrweb'; const website = config('website-id'); const hostUrl = config('host-url'); + const configHostUrl = config('config-host-url'); if (!website) return; - const host = - hostUrl || '__COLLECT_API_HOST__' || currentScript.src.split('/').slice(0, -1).join('/'); - const hostBase = host.replace(/\/$/, ''); - const endpoint = `${hostBase}__COLLECT_REPLAY_ENDPOINT__`; - const configEndpoint = `${hostBase}__RECORDER_CONFIG_ENDPOINT__`.replace('{websiteId}', website); + const scriptHost = currentScript.src.split('/').slice(0, -1).join('/'); + const collectHost = hostUrl || '__COLLECT_API_HOST__' || scriptHost; + const configHost = configHostUrl || scriptHost || collectHost; + const collectHostBase = collectHost.replace(/\/$/, ''); + const configHostBase = configHost.replace(/\/$/, ''); + const endpoint = `${collectHostBase}__COLLECT_REPLAY_ENDPOINT__`; + const configEndpoint = `${configHostBase}__RECORDER_CONFIG_ENDPOINT__`.replace( + '{websiteId}', + website, + ); const REPLAY_FLUSH_EVENT_COUNT = 100; const REPLAY_FLUSH_INTERVAL = 10000;