Skip to content

Commit 46d06c1

Browse files
committed
Fixed feedback widget not shown when using instant loading
1 parent 86378ed commit 46d06c1

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

material/partials/integrations/analytics/google.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{% set property = config.extra.analytics.property | d("", true) %}
66
{% endif %}
77
{% if property.startswith("G-") %}
8-
<script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","{{ property }}"),document.addEventListener("DOMContentLoaded",function(){if(document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document.forms.feedback){var e,a=document.forms.feedback;for(e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}"undefined"!=typeof location$&&location$.subscribe(function(e){n("config","{{ property }}",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id={{ property }}",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
8+
<script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","{{ property }}"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","{{ property }}",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id={{ property }}",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
99
{% elif property.startswith("UA-") %}
10-
<script id="__analytics">function __md_analytics(){window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","{{ property }}","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"),document.addEventListener("DOMContentLoaded",function(){if(document.forms.search&&document.forms.search.query.addEventListener("blur",function(){var e;this.value&&(e=document.location.pathname,ga("send","pageview",e+"?q="+this.value))}),document.forms.feedback){var e,a=document.forms.feedback;for(e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");ga("send","event","feedback","click",t,e),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}"undefined"!=typeof location$&&location$.subscribe(function(e){ga("send","pageview",e.pathname)})});var e=document.createElement("script");e.async=!0,e.src="https://www.google-analytics.com/analytics.js",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
10+
<script id="__analytics">function __md_analytics(){window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","{{ property }}","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){var e;this.value&&(e=document.location.pathname,ga("send","pageview",e+"?q="+this.value))}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");ga("send","event","feedback","click",t,e),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){ga("send","pageview",e.pathname)})});var e=document.createElement("script");e.async=!0,e.src="https://www.google-analytics.com/analytics.js",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
1111
{% endif %}

src/partials/integrations/analytics/google.html

+20-14
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,12 @@
4949
}
5050

5151
/* Set up feedback, i.e. "Was this page helpful?" */
52-
if (document.forms.feedback) {
52+
document$.subscribe(function() {
5353
var feedback = document.forms.feedback
54+
if (typeof feedback === "undefined")
55+
return
56+
57+
/* Send feedback to Google Analytics */
5458
for (var button of feedback.querySelectorAll("[type=submit]")) {
5559
button.addEventListener("click", function(ev) {
5660
ev.preventDefault()
@@ -72,15 +76,14 @@
7276
/* Show feedback */
7377
feedback.hidden = false
7478
}
75-
}
79+
})
7680

7781
/* Send page view on location change */
78-
if (typeof location$ !== "undefined")
79-
location$.subscribe(function(url) {
80-
gtag("config", "{{ property }}", {
81-
page_path: url.pathname
82-
})
82+
location$.subscribe(function(url) {
83+
gtag("config", "{{ property }}", {
84+
page_path: url.pathname
8385
})
86+
})
8487
})
8588

8689
/* Create script tag */
@@ -123,10 +126,14 @@
123126
}
124127

125128
/* Set up feedback, i.e. "Was this page helpful?" */
126-
if (document.forms.feedback) {
129+
document$.subscribe(function() {
127130
var feedback = document.forms.feedback
131+
if (typeof feedback === "undefined")
132+
return
133+
134+
/* Send feedback to Google Analytics */
128135
for (var button of feedback.querySelectorAll("[type=submit]")) {
129-
button.addEventListener("click", function(ev) {
136+
button.addEventListener("click", function (ev) {
130137
ev.preventDefault()
131138

132139
/* Retrieve and send data */
@@ -146,13 +153,12 @@
146153
/* Show feedback */
147154
feedback.hidden = false
148155
}
149-
}
156+
})
150157

151158
/* Send page view on location change */
152-
if (typeof location$ !== "undefined")
153-
location$.subscribe(function(url) {
154-
ga("send", "pageview", url.pathname)
155-
})
159+
location$.subscribe(function(url) {
160+
ga("send", "pageview", url.pathname)
161+
})
156162
})
157163

158164
/* Create script tag */

0 commit comments

Comments
 (0)