|
|
@@ -4,12 +4,13 @@ html(
|
|
|
lang=(currentLngCode || 'en')
|
|
|
)
|
|
|
- metadata = metadata || {}
|
|
|
+
|
|
|
block vars
|
|
|
|
|
|
head
|
|
|
include ./_metadata.pug
|
|
|
|
|
|
- script(type="text/javascript").
|
|
|
+ script(type="text/javascript", nonce=scriptNonce).
|
|
|
// Stop superfish from loading
|
|
|
window.similarproducts = true
|
|
|
style [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {display: none !important; display: none; }
|
|
|
@@ -32,12 +33,12 @@ html(
|
|
|
|
|
|
//- Google Analytics
|
|
|
if (typeof(gaToken) != "undefined")
|
|
|
- script(type='text/javascript').
|
|
|
+ script(type="text/javascript", nonce=scriptNonce).
|
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
|
- script(type='text/javascript').
|
|
|
+ script(type="text/javascript", nonce=scriptNonce).
|
|
|
ga('create', '#{gaToken}', '#{settings.cookieDomain.replace(/^\./, "")}');
|
|
|
ga('send', 'pageview');
|
|
|
|
|
|
@@ -54,7 +55,7 @@ html(
|
|
|
if gaOptimize === true && typeof(gaOptimizeId) != "undefined"
|
|
|
//- Anti-flicker snippet
|
|
|
style(type='text/css') .async-hide { opacity: 0 !important}
|
|
|
- script(type='text/javascript').
|
|
|
+ script(type="text/javascript", nonce=scriptNonce).
|
|
|
if (!ga.isBlocked) {
|
|
|
ga('require', '#{gaOptimizeId}');
|
|
|
ga('send', 'event', 'pageview', document.title.substring(0, 499), window.location.href.substring(0, 499));
|
|
|
@@ -66,7 +67,7 @@ html(
|
|
|
}
|
|
|
|
|
|
else
|
|
|
- script(type='text/javascript').
|
|
|
+ script(type="text/javascript", nonce=scriptNonce).
|
|
|
window.ga = function() { console.log("would send to GA", arguments) };
|
|
|
|
|
|
block meta
|
|
|
@@ -106,9 +107,9 @@ html(
|
|
|
block head-scripts
|
|
|
|
|
|
|
|
|
- body
|
|
|
+ body(ng-csp=(cspEnabled ? "no-unsafe-eval" : false))
|
|
|
if(settings.recaptcha && settings.recaptcha.siteKeyV3)
|
|
|
- script(src="https://www.google.com/recaptcha/api.js?render="+settings.recaptcha.siteKeyV3)
|
|
|
+ script(type="text/javascript", nonce=scriptNonce, src="https://www.google.com/recaptcha/api.js?render="+settings.recaptcha.siteKeyV3)
|
|
|
|
|
|
|
|
|
if (typeof(suppressNavbar) == "undefined")
|
|
|
@@ -122,9 +123,9 @@ html(
|
|
|
!= moduleIncludes("contactModal", locals)
|
|
|
|
|
|
block foot-scripts
|
|
|
- script(src=buildJsPath('libraries.js'))
|
|
|
- script(src=buildJsPath('main.js'))
|
|
|
- script(type="text/javascript").
|
|
|
+ script(type="text/javascript", nonce=scriptNonce, src=buildJsPath('libraries.js'))
|
|
|
+ script(type="text/javascript", nonce=scriptNonce, src=buildJsPath('main.js'))
|
|
|
+ script(type="text/javascript", nonce=scriptNonce).
|
|
|
//- Look for bundle
|
|
|
var cdnBlocked = typeof Frontend === 'undefined'
|
|
|
//- Prevent loops
|