Merged in fix/sw-2763-external-scripts (pull request #2104)

fix: try/catch external scripts to avoid them breaking our page #sw-2763

* fix: try/catch external scripts to avoid them breaking our page #sw-2763


Approved-by: Joakim Jäderberg
This commit is contained in:
Linus Flood
2025-05-19 09:21:02 +00:00
parent e3a0b281f5
commit 6311ec6eca
2 changed files with 25 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
import * as Sentry from "@sentry/nextjs"
import Script from "next/script"
import { env } from "@/env/server"
@@ -8,6 +9,10 @@ export default function AdobeSDKScript() {
data-cookieconsent="statistics"
src={env.ADOBE_SDK_SCRIPT_SRC}
async
onError={(e) => {
console.error("Failed to load AdobeSDK script", e)
Sentry.captureException(e)
}}
/>
) : null
}

View File

@@ -1,3 +1,4 @@
import * as Sentry from "@sentry/nextjs"
import Script from "next/script"
import { env } from "@/env/server"
@@ -9,10 +10,27 @@ export default function GTMScript() {
data-cookieconsent="statistics"
dangerouslySetInnerHTML={{
__html: `
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://analytics.scandichotels.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KNJCW67W');
`,
try {
(function(w,d,s,l,i){
w[l]=w[l]||[];
w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://analytics.scandichotels.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window,document,'script','dataLayer','GTM-KNJCW67W');
} catch (e) {
console.error('Failed to load GTM script', e);
}
`,
}}
async
onError={(e) => {
console.error("Failed to load GTM script", e)
Sentry.captureException(e)
}}
/>
) : null
}