@@ -15,12 +15,37 @@ export default function CustomApp({
15
15
} : AppProps ) : JSX . Element {
16
16
const router = useRouter ( ) ;
17
17
const gaMeasurementId = 'UA-88380372-10' ;
18
+ // RR2B ---------
19
+ const SCRIPT_ID = 'external-js-script' ;
20
+ const SCRIPT_BASE_URL = 'https://s3-us-west-2.amazonaws.com/b2bjsstore/b/' ;
21
+ const SCRIPT_KEY = '0NW1GH7YJ4O4' ; //
22
+ const SCRIPT_URL = `${ SCRIPT_BASE_URL } ${ SCRIPT_KEY } /${ SCRIPT_KEY } .js.gz` ;
23
+ useEffect ( ( ) => {
24
+ const handleRouteChange = ( ) => {
25
+ const existingScript = document . getElementById ( SCRIPT_ID ) ;
26
+ if ( existingScript ) {
27
+ existingScript . remove ( ) ;
28
+ }
29
+ const script = document . createElement ( 'script' ) ;
30
+ script . id = SCRIPT_ID ;
31
+ script . src = SCRIPT_URL ;
32
+ script . async = true ;
33
+ document . body . appendChild ( script ) ;
34
+ } ;
35
+ router . events . on ( 'routeChangeComplete' , handleRouteChange ) ;
36
+ handleRouteChange ( ) ;
37
+ return ( ) => {
38
+ router . events . off ( 'routeChangeComplete' , handleRouteChange ) ;
39
+ } ;
40
+ } , [ router . events , SCRIPT_URL ] ) ;
41
+ // ---------
42
+
18
43
useEffect ( ( ) => {
19
44
const handleRouteChange = ( url : URL ) =>
20
45
sendPageViewEvent ( { gaId : gaMeasurementId , path : url . toString ( ) } ) ;
21
46
router . events . on ( 'routeChangeStart' , ( url ) => handleRouteChange ( url ) ) ;
22
47
return ( ) => router . events . off ( 'routeChangeStart' , handleRouteChange ) ;
23
- } , [ router ] ) ;
48
+ } , [ router . events , gaMeasurementId ] ) ;
24
49
return (
25
50
< >
26
51
< DefaultSeo
@@ -153,15 +178,6 @@ export default function CustomApp({
153
178
` ,
154
179
} }
155
180
/>
156
- < Script
157
- id = "rb2b-script-loader"
158
- strategy = "afterInteractive"
159
- dangerouslySetInnerHTML = { {
160
- __html : `
161
- !function () {var reb2b = window.reb2b = window.reb2b || [];if (reb2b.invoked) return;reb2b.invoked = true;reb2b.methods = ["identify", "collect"];reb2b.factory = function (method) {return function () {var args = Array.prototype.slice.call(arguments);args.unshift(method);reb2b.push(args);return reb2b;};};for (var i = 0; i < reb2b.methods.length; i++) {var key = reb2b.methods[i];reb2b[key] = reb2b.factory(key);}reb2b.load = function (key) {var script = document.createElement("script");script.type = "text/javascript";script.async = true;script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/0NW1GH7YJ4O4.js.gz";var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};reb2b.SNIPPET_VERSION = "1.0.1";reb2b.load("0NW1GH7YJ4O4");}();
162
- ` ,
163
- } }
164
- />
165
181
</ >
166
182
) ;
167
183
}
0 commit comments