Rookie
Forum Replies Created
-
Forum: Plugins
In reply to: [Servebolt Optimizer] Menu cache conflict cache issue WPML and PolylangNever mind, this setting was first confusing to understand and read but now it’s clear, should be marked as non-recommended for multilingual sites as it’s read obviously now! ??
Execute menu cache without considering current page?
Since the current menu item is often highlighted, then the system need to cache the menu output for each page. If the site does not display the active state on menu items then you can check this. This will also save some database resources.
Forum: Plugins
In reply to: [Site Reviews] E_ERROR PolyfillYes that is true it does, so some conflict there. On your end or on WP asset clean ups?
- This reply was modified 1 year, 1 month ago by Rookie.
A gentle reminder regarding this one.
How do we delete a user role created. It isn’t possible. The styling issue on the modal is still there.
And please get back to me regarding the core question in this ticket.@daanvandenbergh Yep checked now, as I thought. But haven’t had an inline JavaScript before I delayed loading. But have include the keyword of scripts to delay “analytics” since GA UA so
Flying Scripts by WP Speed Matters
encode and lazy load it. Didn’t know think the plugin would encode it to be able to lazy load it as it’s inline. But maybe make sense yeah, everything works as it should. But if someone doesn’t find the script or ask the same, you know these features in the optimization plugins might.
But tracking and everything works as it should.
So now absolute complete minimal footprint from GA4.
Happy weekend, enjoy!or is it added by CAOS as
data:text/javascript;base64
?Or is it as you say any of my JS optimizers? Will check more from my end tomorrow.
Likely so and possible flying scripts. Seeing it lazy loaded and base64 decoded, while it’s not revealed on user interactions or scroll, but I see records in GA4, so it seems to be working.
<script data-type="lazy" data-src="data:text/javascript;base64,CiAgICAhZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLHQpO2Vsc2V7dmFyIG49dCgpO2Zvcih2YXIgbyBpbiBuKSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0czplKVtvXT1uW29dfX0odGhpcywoKCk9PigoKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZT17NTA4OihlLHQsbik9PntmdW5jdGlvbiBvKGUsdD0zMDAsbj0wKXtyZXR1cm4oLi4ubyk9PihjbGVhclRpbWVvdXQobiksbj1zZXRUaW1lb3V0KGUsdCwuLi5vKSl9ZnVuY3Rpb24gaShlPTE2KXtyZXR1cm4gZT1lPjE2PzE2OmUsYCR7TWF0aC5mbG9vcigxZTE2Kk1hdGgucmFuZG9tKCkpfWAucGFkU3RhcnQoZSwiMCIpLnN1YnN0cmluZygtMSxlKX1mdW5jdGlvbiBzKGUsdD0xNil7bGV0IG49MDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluPShuPDw1KS1uK2UuY2hhckNvZGVBdCh0KSxuJj1uO3JldHVybiBuPU1hdGguYWJzKG4pLGAke259YC5wYWRTdGFydCh0LCIwIikuc3Vic3RyaW5nKC0xLHQpfWZ1bmN0aW9uIHIoKXtjb25zdCBlPWRvY3VtZW50LmJvZHksdD13aW5kb3cucGFnZVlPZmZzZXR8fGUuc2Nyb2xsVG9wLHtzY3JvbGxIZWlnaHQ6bixvZmZzZXRIZWlnaHQ6byxjbGllbnRIZWlnaHQ6aX09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHM9TWF0aC5tYXgoZS5zY3JvbGxIZWlnaHQsbixlLm9mZnNldEhlaWdodCxvLGUuY2xpZW50SGVpZ2h0LGkpLXdpbmRvdy5pbm5lckhlaWdodDtyZXR1cm4gTWF0aC5mbG9vcigxMDAqTWF0aC5hYnModC9zKSl9ZnVuY3Rpb24gYShlLHQpe2xldCBuPWU7Zm9yKDtuJiYoIShudWxsPT1uP3ZvaWQgMDpuLm1hdGNoZXMpfHwhKG51bGw9PW4/dm9pZCAwOm4ubWF0Y2hlcyh0KSkpOyluPW51bGw9PW4/dm9pZCAwOm4ucGFyZW50Tm9kZTtyZXR1cm4gbn1mdW5jdGlvbiBjKGUpe2xldCB0LG4sbz0hMTt0cnl7KHtob3N0bmFtZTp0LHBhdGhuYW1lOm59PWUmJm5ldyBVUkwoZSl8fHt9KX1jYXRjaChlKXt9cmV0dXJuIHQmJihvPXQhPT13aW5kb3cubG9jYXRpb24uaG9zdCkse3Q6byxob3N0bmFtZTp0LHBhdGhuYW1lOm59fW4ucih0KSxuLmQodCx7bzooKT0+dSxpOigpPT5kLHU6KCk9Pm8sbDooKT0+bSxtOigpPT5mLGc6KCk9PnAsdjooKT0+cyxwOigpPT5pLGg6KCk9PnIsXzooKT0+ZywkOigpPT52LFM6KCk9PmMsajooKT0+YSxJOigpPT5sfSk7Y29uc3QgdT0iY2xpZW50SWQiLGw9InNlc3Npb25JZCIsZD0ic2Vzc2lvbkNvdW50IjtmdW5jdGlvbiBmKCl7Y29uc3R7aG9zdG5hbWU6ZSxvcmlnaW46dCxwYXRobmFtZTpuLHNlYXJjaDpvfT1kb2N1bWVudC5sb2NhdGlvbixpPWRvY3VtZW50LnRpdGxlO3JldHVybntsb2NhdGlvbjp0K24rbyxob3N0bmFtZTplLHBhdGhuYW1lOm4scmVmZXJyZXI6ZG9jdW1lbnQucmVmZXJyZXIsdGl0bGU6aX19ZnVuY3Rpb24gbShlPXUpe2NvbnN0IHQ9aSgpLG49bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIG58fChsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLHQpLHQpfWZ1bmN0aW9uIGcoZT1sKXtjb25zdCB0PWkoKSxuPXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIG58fChzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGUsdCksdCl9ZnVuY3Rpb24gdihlKXtjb25zdCB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKHUpP3ZvaWQgMDoiMSIsbj1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGwpP3ZvaWQgMDoiMSI7bGV0IG89c2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShkKXx8IjEiO3JldHVybiBlJiYobz1mdW5jdGlvbihlPWQpe2xldCB0PSIxIjtjb25zdCBuPXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIG4mJih0PSIiKygrbisxKSksc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlLHQpLHR9KCkpLHtmaXJzdFZpc2l0OnQsc2Vzc2lvblN0YXJ0Om4sc2Vzc2lvbkNvdW50Om99fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKGU9PmUubWFwKChlPT5udWxsPT1lP3ZvaWQgMDplLnRvU3RyaW5nKCkpKSkpOk9iamVjdC5rZXlzKGUpLm1hcCgodD0+W3QsYCR7ZVt0XX1gXSkpfX0sMjA5OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIk0iLHt2YWx1ZTohMH0pLHQuZmlsZXM9dC5rPXZvaWQgMDt0Lms9e3Byb3RvY29sVmVyc2lvbjoidiIsdHJhY2tpbmdJZDoidGlkIixwYWdlSWQ6Il9wIixsYW5ndWFnZToidWwiLGNsaWVudElkOiJjaWQiLGZpcnN0VmlzaXQ6Il9mdiIsaGl0Q291bnQ6Il9zIixzZXNzaW9uSWQ6InNpZCIsc2Vzc2lvbkNvdW50OiJzY3QiLHNlc3Npb25FbmdhZ2VtZW50OiJzZWciLHNlc3Npb25TdGFydDoiX3NzIixkZWJ1ZzoiX2RiZyIscmVmZXJyZXI6ImRyIixsb2NhdGlvbjoiZGwiLHRpdGxlOiJkdCIsZXZlbnROYW1lOiJlbiIsZXZlbnRQYXJhbToiZXAiLGV2ZW50UGFyYW1OdW1iZXI6ImVwbiIsc2NyZWVuUmVzb2x1dGlvbjoic3IiLGVuYWdlbWVudFRpbWU6Il9ldCJ9O3QuZmlsZXM9WyJwZGZ8eGxzeD98ZG9jeD98dHh0fHJ0Znxjc3Z8ZXhlfGtleXxwcChzfHR8dHgpfDd6fHBrZ3xyYXJ8Z3p8emlwfGF2aSIsIm1vdnxtcDR8bXBlP2d8d212fG1pZGk/fG1wM3x3YXZ8d21hIl19fSx0PXt9O2Z1bmN0aW9uIG4obyl7dmFyIGk9dFtvXTtpZih2b2lkIDAhPT1pKXJldHVybiBpLmV4cG9ydHM7dmFyIHM9dFtvXT17ZXhwb3J0czp7fX07cmV0dXJuIGVbb10ocyxzLmV4cG9ydHMsbikscy5leHBvcnRzfW4uZD0oZSx0KT0+e2Zvcih2YXIgbyBpbiB0KW4uRCh0LG8pJiYhbi5EKGUsbykmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8se086ITAsZ2V0OnRbb119KX0sbi5EPShlLHQpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSxuLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiTSIse3ZhbHVlOiEwfSl9O3ZhciBvPXt9O3JldHVybigoKT0+e3ZhciBlPW87T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIk0iLHt2YWx1ZTohMH0pLGUudHJhY2s9dm9pZCAwO2NvbnN0IHQ9big1MDgpLGk9bigyMDkpLHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cscj1zJiZ3aW5kb3cubWluaW1hbEFuYWx5dGljcz8uZGVmaW5lR2xvYmFsLGE9cyYmd2luZG93Lm1pbmltYWxBbmFseXRpY3M/LmF1dG9UcmFjayxjPVsicSIsInMiLCJzZWFyY2giLCJxdWVyeSIsImtleXdvcmQiXTtsZXQgdSxsLGQsZj1bW0RhdGUubm93KCldXSxtPSExO2NvbnN0IGc9InBhZ2VfdmlldyIsdj0ic2Nyb2xsIixwPSJjbGljayIsdz0idmlld19zZWFyY2hfcmVzdWx0cyIsaD0idXNlcl9lbmdhZ2VtZW50Iix5PSJmaWxlX2Rvd25sb2FkIjtmdW5jdGlvbiBiKGUse3R5cGU6bixldmVudDpvLGRlYnVnOnN9KXtjb25zdHtsb2NhdGlvbjpyLHJlZmVycmVyOmEsdGl0bGU6dX09KDAsdC5tKSgpLHtmaXJzdFZpc2l0Omwsc2Vzc2lvblN0YXJ0OmQsc2Vzc2lvbkNvdW50OmZ9PSgwLHQuJCkoIW0pLGc9c2VsZi5zY3JlZW58fHt9O2xldCB2PVtbaS5rLnByb3RvY29sVmVyc2lvbiwiMiJdLFtpLmsudHJhY2tpbmdJZCxlXSxbaS5rLnBhZ2VJZCwoMCx0LnApKCldLFtpLmsubGFuZ3VhZ2UsKG5hdmlnYXRvci5sYW5ndWFnZXx8IiIpLnRvTG93ZXJDYXNlKCldLFtpLmsuY2xpZW50SWQsKDAsdC5sKSgpXSxbaS5rLmZpcnN0VmlzaXQsbF0sW2kuay5oaXRDb3VudCwiMSJdLFtpLmsuc2Vzc2lvbklkLCgwLHQuXykoKV0sW2kuay5zZXNzaW9uQ291bnQsZl0sW2kuay5zZXNzaW9uRW5nYWdlbWVudCwiMSJdLFtpLmsuc2Vzc2lvblN0YXJ0LGRdLFtpLmsuZGVidWcscz8iMSI6IiJdLFtpLmsucmVmZXJyZXIsYV0sW2kuay5sb2NhdGlvbixyXSxbaS5rLnRpdGxlLHVdLFtpLmsuc2NyZWVuUmVzb2x1dGlvbixgJHtnLndpZHRofXgke2cuaGVpZ2h0fWBdXTtyZXR1cm4gdj12LmNvbmNhdChmdW5jdGlvbih7dHlwZTplPSIiLGV2ZW50Om59KXtjb25zdCBvPWRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCxzPW5ldyBVUkxTZWFyY2hQYXJhbXMobykscj1jLnNvbWUoKGU9Pm5ldyBSZWdFeHAoYFs/fCZdJHtlfT1gLCJnIikudGVzdChvKSkpP3c6ZSxhPWMuZmluZCgoZT0+cy5nZXQoZSkpKTtsZXQgdT1bW2kuay5ldmVudE5hbWUscl0sW2Ake2kuay5ldmVudFBhcmFtfS5zZWFyY2hfdGVybWAsYXx8IiJdXTtyZXR1cm4gbiYmKHU9dS5jb25jYXQoKDAsdC5nKShuKSkpLHV9KHt0eXBlOm4sZXZlbnQ6b30pKSx2PXYuZmlsdGVyKCgoWyxlXSk9PmUpKSxuZXcgVVJMU2VhcmNoUGFyYW1zKHYpfWZ1bmN0aW9uIF8oKXtyZXR1cm4gZi5yZWR1Y2UoKChlLFt0LG49RGF0ZS5ub3coKV0pPT5lKyhuLXQpKSwwKS50b1N0cmluZygpfWZ1bmN0aW9uICQoZSxuKXtjb25zdCBvPSgwLHQuaikobi50YXJnZXQsImEsIGJ1dHRvbiwgaW5wdXRbdHlwZT1zdWJtaXRdLCBpbnB1dFt0eXBlPWJ1dHRvbl0iKSxzPW8/LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCkscj0iYSI9PT1zPyJsaW5rIjpzLGE9bz8uZ2V0QXR0cmlidXRlKCJocmVmIil8fHZvaWQgMCxjPW8/LmdldEF0dHJpYnV0ZSgiZG93bmxvYWQiKXx8dm9pZCAwfHxhLHt0OnUsaG9zdG5hbWU6bCxwYXRobmFtZTpkfT0oMCx0LlMpKGMpLGY9ImxpbmsiPT09ciYmIXUsW21dPWM/Lm1hdGNoKG5ldyBSZWdFeHAoaS5maWxlcy5qb2luKCJ8IiksImciKSl8fFtdLGc9bT95OnAsdj1gJHtpLmsuZXZlbnRQYXJhbX0uJHtyfWA7aWYoIW98fGYmJiFtKXJldHVybjtsZXQgdz1bW2Ake3Z9X2lkYCxvLmlkXSxbYCR7dn1fY2xhc3Nlc2Asby5jbGFzc05hbWVdLFtgJHt2fV9uYW1lYCxvPy5nZXRBdHRyaWJ1dGUoIm5hbWUiKT8udHJpbSgpXSxbYCR7dn1fdGV4dGAsby50ZXh0Q29udGVudD8udHJpbSgpXSxbYCR7dn1fdmFsdWVgLG8/LmdldEF0dHJpYnV0ZSgidmFsdWUiKT8udHJpbSgpXSxbYCR7dn1fdXJsYCxhXSxbYCR7dn1fZG9tYWluYCxsXSxbYCR7aS5rLmV2ZW50UGFyYW19Lm91dGJvdW5kYCxgJHt1fWBdLFtpLmsuZW5hZ2VtZW50VGltZSxfKCldXTttJiYodz13LmNvbmNhdChbW2Ake2kuay5ldmVudFBhcmFtfS5maWxlX25hbWVgLGR8fGNdLFtgJHtpLmsuZXZlbnRQYXJhbX0uZmlsZV9leHRlbnNpb25gLG1dXSkpLEQoZSx7dHlwZTpnLGV2ZW50Ond9KX1mdW5jdGlvbiBTKCl7Y29uc3QgZT1mLmxlbmd0aC0xLFssdF09ZltlXTt0fHxmW2VdLnB1c2goRGF0ZS5ub3coKSl9ZnVuY3Rpb24geCgpe2NvbnN0IGU9Zi5sZW5ndGgtMSxbLHRdPWZbZV07dCYmZi5wdXNoKFtEYXRlLm5vdygpXSl9ZnVuY3Rpb24gaigpe2NvbnN0IGU9Zi5sZW5ndGgtMSxbLHRdPWZbZV0sbj1bImhpZGRlbiIsInZpc2libGUiXS5pbmRleE9mKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSksbz1Cb29sZWFuKG4pOy0xIT09biYmKG8/dCYmZi5wdXNoKFtEYXRlLm5vdygpXSk6IXQmJmZbZV0ucHVzaChEYXRlLm5vdygpKSl9Y29uc3QgST0oMCx0LnUpKChlPT57aWYoKDAsdC5oKSgpPDkwKXJldHVybjtjb25zdCBuPVtbYCR7aS5rLmV2ZW50UGFyYW1OdW1iZXJ9LnBlcmNlbnRfc2Nyb2xsZWRgLDkwXV07RChlLHt0eXBlOnYsZXZlbnQ6bn0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbCl9KSk7ZnVuY3Rpb24gTShlKXtjb25zdCB0PVtbaS5rLmVuYWdlbWVudFRpbWUsXygpXV07RChlLHt0eXBlOmgsZXZlbnQ6dH0pfWZ1bmN0aW9uIGsoZSl7bXx8KHU9JC5iaW5kKG51bGwsZSksbD1JLmJpbmQobnVsbCxlKSxkPU0uYmluZChudWxsLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGopLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLGQpKX1mdW5jdGlvbiBEKC4uLmUpe2NvbnN0W3Qse3R5cGU6bixldmVudDpvLGRlYnVnOml9XT1mdW5jdGlvbihlKXtjb25zdCB0PXdpbmRvdy5taW5pbWFsQW5hbHl0aWNzPy50cmFja2luZ0lkLG49InN0cmluZyI9PXR5cGVvZiBlWzBdP2VbMF06dCxvPSJvYmplY3QiPT10eXBlb2YgZVswXT9lWzBdOmVbMV18fHt9O3JldHVybltuLHt0eXBlOmcsLi4ub31dfShlKTtpZighdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJHQTQ6IFRyYWNraW5nIElEIGlzIG1pc3Npbmcgb3IgdW5kZWZpbmVkIik7Y29uc3Qgcz1iKHQse3R5cGU6bixldmVudDpvLGRlYnVnOml9KSxyPXdpbmRvdy5taW5pbWFsQW5hbHl0aWNzPy5hbmFseXRpY3NFbmRwb2ludHx8Imh0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2cvY29sbGVjdCI7bmF2aWdhdG9yLnNlbmRCZWFjb24oYCR7cn0/JHtzfWApLGsodCksbT0hMH1lLnRyYWNrPUQsciYmKHdpbmRvdy50cmFjaz1EKSxhJiZEKCl9KSgpLG99KSgpKSk7Cg==" src="data:text/javascript;base64,CiAgICAhZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLHQpO2Vsc2V7dmFyIG49dCgpO2Zvcih2YXIgbyBpbiBuKSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0czplKVtvXT1uW29dfX0odGhpcywoKCk9PigoKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZT17NTA4OihlLHQsbik9PntmdW5jdGlvbiBvKGUsdD0zMDAsbj0wKXtyZXR1cm4oLi4ubyk9PihjbGVhclRpbWVvdXQobiksbj1zZXRUaW1lb3V0KGUsdCwuLi5vKSl9ZnVuY3Rpb24gaShlPTE2KXtyZXR1cm4gZT1lPjE2PzE2OmUsYCR7TWF0aC5mbG9vcigxZTE2Kk1hdGgucmFuZG9tKCkpfWAucGFkU3RhcnQoZSwiMCIpLnN1YnN0cmluZygtMSxlKX1mdW5jdGlvbiBzKGUsdD0xNil7bGV0IG49MDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluPShuPDw1KS1uK2UuY2hhckNvZGVBdCh0KSxuJj1uO3JldHVybiBuPU1hdGguYWJzKG4pLGAke259YC5wYWRTdGFydCh0LCIwIikuc3Vic3RyaW5nKC0xLHQpfWZ1bmN0aW9uIHIoKXtjb25zdCBlPWRvY3VtZW50LmJvZHksdD13aW5kb3cucGFnZVlPZmZzZXR8fGUuc2Nyb2xsVG9wLHtzY3JvbGxIZWlnaHQ6bixvZmZzZXRIZWlnaHQ6byxjbGllbnRIZWlnaHQ6aX09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHM9TWF0aC5tYXgoZS5zY3JvbGxIZWlnaHQsbixlLm9mZnNldEhlaWdodCxvLGUuY2xpZW50SGVpZ2h0LGkpLXdpbmRvdy5pbm5lckhlaWdodDtyZXR1cm4gTWF0aC5mbG9vcigxMDAqTWF0aC5hYnModC9zKSl9ZnVuY3Rpb24gYShlLHQpe2xldCBuPWU7Zm9yKDtuJiYoIShudWxsPT1uP3ZvaWQgMDpuLm1hdGNoZXMpfHwhKG51bGw9PW4/dm9pZCAwOm4ubWF0Y2hlcyh0KSkpOyluPW51bGw9PW4/dm9pZCAwOm4ucGFyZW50Tm9kZTtyZXR1cm4gbn1mdW5jdGlvbiBjKGUpe2xldCB0LG4sbz0hMTt0cnl7KHtob3N0bmFtZTp0LHBhdGhuYW1lOm59PWUmJm5ldyBVUkwoZSl8fHt9KX1jYXRjaChlKXt9cmV0dXJuIHQmJihvPXQhPT13aW5kb3cubG9jYXRpb24uaG9zdCkse3Q6byxob3N0bmFtZTp0LHBhdGhuYW1lOm59fW4ucih0KSxuLmQodCx7bzooKT0+dSxpOigpPT5kLHU6KCk9Pm8sbDooKT0+bSxtOigpPT5mLGc6KCk9PnAsdjooKT0+cyxwOigpPT5pLGg6KCk9PnIsXzooKT0+ZywkOigpPT52LFM6KCk9PmMsajooKT0+YSxJOigpPT5sfSk7Y29uc3QgdT0iY2xpZW50SWQiLGw9InNlc3Npb25JZCIsZD0ic2Vzc2lvbkNvdW50IjtmdW5jdGlvbiBmKCl7Y29uc3R7aG9zdG5hbWU6ZSxvcmlnaW46dCxwYXRobmFtZTpuLHNlYXJjaDpvfT1kb2N1bWVudC5sb2NhdGlvbixpPWRvY3VtZW50LnRpdGxlO3JldHVybntsb2NhdGlvbjp0K24rbyxob3N0bmFtZTplLHBhdGhuYW1lOm4scmVmZXJyZXI6ZG9jdW1lbnQucmVmZXJyZXIsdGl0bGU6aX19ZnVuY3Rpb24gbShlPXUpe2NvbnN0IHQ9aSgpLG49bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIG58fChsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLHQpLHQpfWZ1bmN0aW9uIGcoZT1sKXtjb25zdCB0PWkoKSxuPXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIG58fChzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGUsdCksdCl9ZnVuY3Rpb24gdihlKXtjb25zdCB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKHUpP3ZvaWQgMDoiMSIsbj1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGwpP3ZvaWQgMDoiMSI7bGV0IG89c2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShkKXx8IjEiO3JldHVybiBlJiYobz1mdW5jdGlvbihlPWQpe2xldCB0PSIxIjtjb25zdCBuPXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oZSk7cmV0dXJuIG4mJih0PSIiKygrbisxKSksc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlLHQpLHR9KCkpLHtmaXJzdFZpc2l0OnQsc2Vzc2lvblN0YXJ0Om4sc2Vzc2lvbkNvdW50Om99fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKGU9PmUubWFwKChlPT5udWxsPT1lP3ZvaWQgMDplLnRvU3RyaW5nKCkpKSkpOk9iamVjdC5rZXlzKGUpLm1hcCgodD0+W3QsYCR7ZVt0XX1gXSkpfX0sMjA5OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIk0iLHt2YWx1ZTohMH0pLHQuZmlsZXM9dC5rPXZvaWQgMDt0Lms9e3Byb3RvY29sVmVyc2lvbjoidiIsdHJhY2tpbmdJZDoidGlkIixwYWdlSWQ6Il9wIixsYW5ndWFnZToidWwiLGNsaWVudElkOiJjaWQiLGZpcnN0VmlzaXQ6Il9mdiIsaGl0Q291bnQ6Il9zIixzZXNzaW9uSWQ6InNpZCIsc2Vzc2lvbkNvdW50OiJzY3QiLHNlc3Npb25FbmdhZ2VtZW50OiJzZWciLHNlc3Npb25TdGFydDoiX3NzIixkZWJ1ZzoiX2RiZyIscmVmZXJyZXI6ImRyIixsb2NhdGlvbjoiZGwiLHRpdGxlOiJkdCIsZXZlbnROYW1lOiJlbiIsZXZlbnRQYXJhbToiZXAiLGV2ZW50UGFyYW1OdW1iZXI6ImVwbiIsc2NyZWVuUmVzb2x1dGlvbjoic3IiLGVuYWdlbWVudFRpbWU6Il9ldCJ9O3QuZmlsZXM9WyJwZGZ8eGxzeD98ZG9jeD98dHh0fHJ0Znxjc3Z8ZXhlfGtleXxwcChzfHR8dHgpfDd6fHBrZ3xyYXJ8Z3p8emlwfGF2aSIsIm1vdnxtcDR8bXBlP2d8d212fG1pZGk/fG1wM3x3YXZ8d21hIl19fSx0PXt9O2Z1bmN0aW9uIG4obyl7dmFyIGk9dFtvXTtpZih2b2lkIDAhPT1pKXJldHVybiBpLmV4cG9ydHM7dmFyIHM9dFtvXT17ZXhwb3J0czp7fX07cmV0dXJuIGVbb10ocyxzLmV4cG9ydHMsbikscy5leHBvcnRzfW4uZD0oZSx0KT0+e2Zvcih2YXIgbyBpbiB0KW4uRCh0LG8pJiYhbi5EKGUsbykmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8se086ITAsZ2V0OnRbb119KX0sbi5EPShlLHQpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSxuLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiTSIse3ZhbHVlOiEwfSl9O3ZhciBvPXt9O3JldHVybigoKT0+e3ZhciBlPW87T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIk0iLHt2YWx1ZTohMH0pLGUudHJhY2s9dm9pZCAwO2NvbnN0IHQ9big1MDgpLGk9bigyMDkpLHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cscj1zJiZ3aW5kb3cubWluaW1hbEFuYWx5dGljcz8uZGVmaW5lR2xvYmFsLGE9cyYmd2luZG93Lm1pbmltYWxBbmFseXRpY3M/LmF1dG9UcmFjayxjPVsicSIsInMiLCJzZWFyY2giLCJxdWVyeSIsImtleXdvcmQiXTtsZXQgdSxsLGQsZj1bW0RhdGUubm93KCldXSxtPSExO2NvbnN0IGc9InBhZ2VfdmlldyIsdj0ic2Nyb2xsIixwPSJjbGljayIsdz0idmlld19zZWFyY2hfcmVzdWx0cyIsaD0idXNlcl9lbmdhZ2VtZW50Iix5PSJmaWxlX2Rvd25sb2FkIjtmdW5jdGlvbiBiKGUse3R5cGU6bixldmVudDpvLGRlYnVnOnN9KXtjb25zdHtsb2NhdGlvbjpyLHJlZmVycmVyOmEsdGl0bGU6dX09KDAsdC5tKSgpLHtmaXJzdFZpc2l0Omwsc2Vzc2lvblN0YXJ0OmQsc2Vzc2lvbkNvdW50OmZ9PSgwLHQuJCkoIW0pLGc9c2VsZi5zY3JlZW58fHt9O2xldCB2PVtbaS5rLnByb3RvY29sVmVyc2lvbiwiMiJdLFtpLmsudHJhY2tpbmdJZCxlXSxbaS5rLnBhZ2VJZCwoMCx0LnApKCldLFtpLmsubGFuZ3VhZ2UsKG5hdmlnYXRvci5sYW5ndWFnZXx8IiIpLnRvTG93ZXJDYXNlKCldLFtpLmsuY2xpZW50SWQsKDAsdC5sKSgpXSxbaS5rLmZpcnN0VmlzaXQsbF0sW2kuay5oaXRDb3VudCwiMSJdLFtpLmsuc2Vzc2lvbklkLCgwLHQuXykoKV0sW2kuay5zZXNzaW9uQ291bnQsZl0sW2kuay5zZXNzaW9uRW5nYWdlbWVudCwiMSJdLFtpLmsuc2Vzc2lvblN0YXJ0LGRdLFtpLmsuZGVidWcscz8iMSI6IiJdLFtpLmsucmVmZXJyZXIsYV0sW2kuay5sb2NhdGlvbixyXSxbaS5rLnRpdGxlLHVdLFtpLmsuc2NyZWVuUmVzb2x1dGlvbixgJHtnLndpZHRofXgke2cuaGVpZ2h0fWBdXTtyZXR1cm4gdj12LmNvbmNhdChmdW5jdGlvbih7dHlwZTplPSIiLGV2ZW50Om59KXtjb25zdCBvPWRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCxzPW5ldyBVUkxTZWFyY2hQYXJhbXMobykscj1jLnNvbWUoKGU9Pm5ldyBSZWdFeHAoYFs/fCZdJHtlfT1gLCJnIikudGVzdChvKSkpP3c6ZSxhPWMuZmluZCgoZT0+cy5nZXQoZSkpKTtsZXQgdT1bW2kuay5ldmVudE5hbWUscl0sW2Ake2kuay5ldmVudFBhcmFtfS5zZWFyY2hfdGVybWAsYXx8IiJdXTtyZXR1cm4gbiYmKHU9dS5jb25jYXQoKDAsdC5nKShuKSkpLHV9KHt0eXBlOm4sZXZlbnQ6b30pKSx2PXYuZmlsdGVyKCgoWyxlXSk9PmUpKSxuZXcgVVJMU2VhcmNoUGFyYW1zKHYpfWZ1bmN0aW9uIF8oKXtyZXR1cm4gZi5yZWR1Y2UoKChlLFt0LG49RGF0ZS5ub3coKV0pPT5lKyhuLXQpKSwwKS50b1N0cmluZygpfWZ1bmN0aW9uICQoZSxuKXtjb25zdCBvPSgwLHQuaikobi50YXJnZXQsImEsIGJ1dHRvbiwgaW5wdXRbdHlwZT1zdWJtaXRdLCBpbnB1dFt0eXBlPWJ1dHRvbl0iKSxzPW8/LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCkscj0iYSI9PT1zPyJsaW5rIjpzLGE9bz8uZ2V0QXR0cmlidXRlKCJocmVmIil8fHZvaWQgMCxjPW8/LmdldEF0dHJpYnV0ZSgiZG93bmxvYWQiKXx8dm9pZCAwfHxhLHt0OnUsaG9zdG5hbWU6bCxwYXRobmFtZTpkfT0oMCx0LlMpKGMpLGY9ImxpbmsiPT09ciYmIXUsW21dPWM/Lm1hdGNoKG5ldyBSZWdFeHAoaS5maWxlcy5qb2luKCJ8IiksImciKSl8fFtdLGc9bT95OnAsdj1gJHtpLmsuZXZlbnRQYXJhbX0uJHtyfWA7aWYoIW98fGYmJiFtKXJldHVybjtsZXQgdz1bW2Ake3Z9X2lkYCxvLmlkXSxbYCR7dn1fY2xhc3Nlc2Asby5jbGFzc05hbWVdLFtgJHt2fV9uYW1lYCxvPy5nZXRBdHRyaWJ1dGUoIm5hbWUiKT8udHJpbSgpXSxbYCR7dn1fdGV4dGAsby50ZXh0Q29udGVudD8udHJpbSgpXSxbYCR7dn1fdmFsdWVgLG8/LmdldEF0dHJpYnV0ZSgidmFsdWUiKT8udHJpbSgpXSxbYCR7dn1fdXJsYCxhXSxbYCR7dn1fZG9tYWluYCxsXSxbYCR7aS5rLmV2ZW50UGFyYW19Lm91dGJvdW5kYCxgJHt1fWBdLFtpLmsuZW5hZ2VtZW50VGltZSxfKCldXTttJiYodz13LmNvbmNhdChbW2Ake2kuay5ldmVudFBhcmFtfS5maWxlX25hbWVgLGR8fGNdLFtgJHtpLmsuZXZlbnRQYXJhbX0uZmlsZV9leHRlbnNpb25gLG1dXSkpLEQoZSx7dHlwZTpnLGV2ZW50Ond9KX1mdW5jdGlvbiBTKCl7Y29uc3QgZT1mLmxlbmd0aC0xLFssdF09ZltlXTt0fHxmW2VdLnB1c2goRGF0ZS5ub3coKSl9ZnVuY3Rpb24geCgpe2NvbnN0IGU9Zi5sZW5ndGgtMSxbLHRdPWZbZV07dCYmZi5wdXNoKFtEYXRlLm5vdygpXSl9ZnVuY3Rpb24gaigpe2NvbnN0IGU9Zi5sZW5ndGgtMSxbLHRdPWZbZV0sbj1bImhpZGRlbiIsInZpc2libGUiXS5pbmRleE9mKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSksbz1Cb29sZWFuKG4pOy0xIT09biYmKG8/dCYmZi5wdXNoKFtEYXRlLm5vdygpXSk6IXQmJmZbZV0ucHVzaChEYXRlLm5vdygpKSl9Y29uc3QgST0oMCx0LnUpKChlPT57aWYoKDAsdC5oKSgpPDkwKXJldHVybjtjb25zdCBuPVtbYCR7aS5rLmV2ZW50UGFyYW1OdW1iZXJ9LnBlcmNlbnRfc2Nyb2xsZWRgLDkwXV07RChlLHt0eXBlOnYsZXZlbnQ6bn0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbCl9KSk7ZnVuY3Rpb24gTShlKXtjb25zdCB0PVtbaS5rLmVuYWdlbWVudFRpbWUsXygpXV07RChlLHt0eXBlOmgsZXZlbnQ6dH0pfWZ1bmN0aW9uIGsoZSl7bXx8KHU9JC5iaW5kKG51bGwsZSksbD1JLmJpbmQobnVsbCxlKSxkPU0uYmluZChudWxsLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGopLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLGQpKX1mdW5jdGlvbiBEKC4uLmUpe2NvbnN0W3Qse3R5cGU6bixldmVudDpvLGRlYnVnOml9XT1mdW5jdGlvbihlKXtjb25zdCB0PXdpbmRvdy5taW5pbWFsQW5hbHl0aWNzPy50cmFja2luZ0lkLG49InN0cmluZyI9PXR5cGVvZiBlWzBdP2VbMF06dCxvPSJvYmplY3QiPT10eXBlb2YgZVswXT9lWzBdOmVbMV18fHt9O3JldHVybltuLHt0eXBlOmcsLi4ub31dfShlKTtpZighdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJHQTQ6IFRyYWNraW5nIElEIGlzIG1pc3Npbmcgb3IgdW5kZWZpbmVkIik7Y29uc3Qgcz1iKHQse3R5cGU6bixldmVudDpvLGRlYnVnOml9KSxyPXdpbmRvdy5taW5pbWFsQW5hbHl0aWNzPy5hbmFseXRpY3NFbmRwb2ludHx8Imh0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2cvY29sbGVjdCI7bmF2aWdhdG9yLnNlbmRCZWFjb24oYCR7cn0/JHtzfWApLGsodCksbT0hMH1lLnRyYWNrPUQsciYmKHdpbmRvdy50cmFjaz1EKSxhJiZEKCl9KSgpLG99KSgpKSk7Cg=="></script>
which decode to:
!function (e, t) { if ("object" == typeof exports && "object" == typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else { var n = t(); for (var o in n) ( "object" == typeof exports ? exports : e )[o] = n[o] } }(this, (() => (() => { "use strict"; var e = { 508: (e, t, n) => { function o(e, t = 300, n = 0) { return(... o) => (clearTimeout(n), n = setTimeout(e, t, ... o)) } function i(e = 16) { return e = e > 16 ? 16 : e, `${ Math.floor(1e16 * Math.random()) }`.padStart(e, "0").substring(-1, e) } function s(e, t = 16) { let n = 0; for (let t = 0; t < e.length; t++) n = (n << 5) - n + e.charCodeAt(t), n &= n; return n = Math.abs(n),
${n}
.padStart(t, "0").substring(-1, t) } function r() { const e = document.body, t = window.pageYOffset || e.scrollTop, { scrollHeight: n, offsetHeight: o, clientHeight: i } = document.documentElement, s = Math.max(e.scrollHeight, n, e.offsetHeight, o, e.clientHeight, i) - window.innerHeight; return Math.floor(100 * Math.abs(t / s)) } function a(e, t) { let n = e; for (; n && (!( null == n ? void 0 : n.matches ) || !( null == n ? void 0 : n.matches(t) ));) n = null == n ? void 0 : n.parentNode; return n } function c(e) { let t, n, o = !1; try { ({hostname: t, pathname: n} = e && new URL(e) || {}) } catch (e) {} return t && (o = t !== window.location.host), { t: o, hostname: t, pathname: n } } n.r(t), n.d(t, { o: () => u, i: () => d, u: () => o, l: () => m, m: () => f, g: () => p, v: () => s, p: () => i, h: () => r, _: () => g, $: () => v, S: () => c, j: () => a, I: () => l }); const u = "clientId", l = "sessionId", d = "sessionCount"; function f() { const {hostname: e, origin: t, pathname: n, search: o} = document.location, i = document.title; return { location: t + n + o, hostname: e, pathname: n, referrer: document.referrer, title: i } } function m(e = u) { const t = i(), n = localStorage.getItem(e); return n || (localStorage.setItem(e, t), t) } function g(e = l) { const t = i(), n = sessionStorage.getItem(e); return n || (sessionStorage.setItem(e, t), t) } function v(e) { const t = localStorage.getItem(u) ? void 0 : "1", n = sessionStorage.getItem(l) ? void 0 : "1"; let o = sessionStorage.getItem(d) || "1"; return e && (o = function (e = d) { let t = "1"; const n = sessionStorage.getItem(e); return n && (t = "" + (+ n + 1)), sessionStorage.setItem(e, t), t }()), { firstVisit: t, sessionStart: n, sessionCount: o } } function p(e) { return Array.isArray(e) ? e.map((e => e.map(( e => null == e ? void 0 : e.toString() )))) : Object.keys(e).map((t => [t, `${ e[t] }`])) } }, 209: (e, t) => { Object.defineProperty(t, "M", { value: !0 }), t.files = t.k = void 0; t.k = { protocolVersion: "v", trackingId: "tid", pageId: "_p", language: "ul", clientId: "cid", firstVisit: "_fv", hitCount: "_s", sessionId: "sid", sessionCount: "sct", sessionEngagement: "seg", sessionStart: "_ss", debug: "_dbg", referrer: "dr", location: "dl", title: "dt", eventName: "en", eventParam: "ep", eventParamNumber: "epn", screenResolution: "sr", enagementTime: "_et" }; t.files = ["pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi", "mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma"] } }, t = {}; function n(o) { var i = t[o]; if (void 0 !== i) return i.exports; var s = t[o] = { exports: {} }; return e[o](s, s.exports, n), s.exports } n.d = (e, t) => { for (var o in t) n.D(t, o) && ! n.D(e, o) && Object.defineProperty(e, o, { O: !0, get: t[o] }) }, n.D = (e, t) => Object .prototype .hasOwnProperty .call(e, t), n.r = e => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "M", { value: !0 }) }; var o = {}; return(() => { var e = o; Object.defineProperty(e, "M", { value: !0 }), e.track = void 0; const t = n(508), i = n(209), s = "undefined" != typeof window, r = s && window.minimalAnalytics ?. defineGlobal, a = s && window.minimalAnalytics ?. autoTrack, c = [ "q", "s", "search", "query", "keyword" ]; let u, l, d, f = [ [Date.now()] ], m = !1; const g = "page_view", v = "scroll", p = "click", w = "view_search_results", h = "user_engagement", y = "file_download"; function b(e, { type : n, event : o, debug : s }) { const {location: r, referrer: a, title: u} = (0, t.m)(), { firstVisit: l, sessionStart: d, sessionCount: f } = (0, t.$)(! m), g = self.screen || {}; let v = [ [ i.k.protocolVersion, "2" ], [ i.k.trackingId, e ], [ i.k.pageId, (0, t.p)() ], [ i.k.language, (navigator.language || "").toLowerCase() ], [ i.k.clientId, (0, t.l)() ], [ i.k.firstVisit, l ], [ i.k.hitCount, "1" ], [ i.k.sessionId, (0, t._)() ], [ i.k.sessionCount, f ], [ i.k.sessionEngagement, "1" ], [ i.k.sessionStart, d ], [ i.k.debug, s ? "1" : "" ], [ i.k.referrer, a ], [ i.k.location, r ], [ i.k.title, u ], [ i.k.screenResolution, `${ g.width }x${ g.height }` ] ]; return v = v.concat(function ({ type: e = "", event: n }) { const o = document.location.search, s = new URLSearchParams(o), r = c.some((e => new RegExp([?|&]${e}=
, "g").test(o))) ? w : e, a = c.find((e => s.get(e))); let u = [ [ i.k.eventName, r ], [ `${ i.k.eventParam }.search_term`, a || "" ] ]; return n && (u = u.concat((0, t.g)(n))), u }({type: n, event: o})), v = v.filter((([, e]) => e)), new URLSearchParams(v) } function _() { return f.reduce(((e, [ t, n = Date.now() ]) => e + (n - t)), 0).toString() } function $(e, n) { const o = (0, t.j)(n.target, "a, button, input[type=submit], input[type=button]"), s = o ?. tagName ?. toLowerCase(), r = "a" === s ? "link" : s, a = o ?. getAttribute("href") || void 0, c = o ?. getAttribute("download") || void 0 || a, { t: u, hostname: l, pathname: d } = (0, t.S)(c), f = "link" === r && ! u, [m] = c ?. match(new RegExp(i.files.join("|"), "g")) || [], g = m ? y : p, v = `${ i.k.eventParam }.${r}`; if (! o || f && ! m) return; let w = [ [${v}_id
, o.id ], [${v}_classes
, o.className ], [${v}_name
, o ?. getAttribute("name") ?. trim() ], [${v}_text
, o.textContent ?. trim() ], [${v}_value
, o ?. getAttribute("value") ?. trim() ], [${v}_url
, a ], [${v}_domain
, l ], [ `${ i.k.eventParam }.outbound,
${u}` ], [ i.k.enagementTime, _() ] ]; m && (w = w.concat([ [ `${ i.k.eventParam }.file_name`, d || c ], [ `${ i.k.eventParam }.file_extension`, m ] ])), D(e, { type: g, event: w }) } function S() { const e = f.length - 1, [, t] = f[e]; t || f[e].push(Date.now()) } function x() { const e = f.length - 1, [, t] = f[e]; t && f.push([Date.now()]) } function j() { const e = f.length - 1, [, t] = f[e], n = ["hidden", "visible"].indexOf(document.visibilityState), o = Boolean(n); -1 !== n && ( o ? t && f.push([Date.now()]) : ! t && f[e].push(Date.now()) ) } const I = (0, t.u)((e => { if ((0, t.h)() < 90) return; const n = [[`${ i.k.eventParamNumber }.percent_scrolled`, 90]]; D(e, { type: v, event: n }), document.removeEventListener("scroll", l) })); function M(e) { const t = [[i.k.enagementTime, _()]]; D(e, { type: h, event: t }) } function k(e) { m || (u = $.bind(null, e), l = I.bind(null, e), d = M.bind(null, e), document.addEventListener("visibilitychange", j), document.addEventListener("scroll", l), document.addEventListener("click", u), window.addEventListener("blur", S), window.addEventListener("focus", x), window.addEventListener("beforeunload", d)) } function D(... e) { const [ t, { type: n, event: o, debug: i } ] = function (e) { const t = window.minimalAnalytics ?. trackingId, n = "string" == typeof e[0] ? e[0] : t, o = "object" == typeof e[0] ? e[0] : e[1] || {}; return [ n, { type: g, ... o } ] }(e); if (! t) return void console.error("GA4: Tracking ID is missing or undefined"); const s = b(t, { type: n, event: o, debug: i }), r = window.minimalAnalytics ?. analyticsEndpoint || "https://www.google-analytics.com/g/collect"; navigator.sendBeacon(${r}?${s}
), k(t), m = !0 } e.track = D, r && (window.track = D), a && D() })(), o })()));- This reply was modified 1 year, 5 months ago by Rookie.
@daanvandenbergh perfect! Yes I thought something was off was just about to say as standard async worked. Saw now you asked for the url. Let me update and test.
Seeing the window! Where is the local minimal script loaded though?<script> window.minimalAnalytics = { trackingId: 'G-*********', autoTrack: true, defineGlobal: true } </script>
what should I be looking for? used flying analytics before, still activated but only loading old UA script and tracking.
Cannot see the tracking code being added Tracking Code Position footer.
This site is using oxygen builder. Shouldn’t need to use the option to add manually?@daanvandenbergh amazing! and it comes with both?
autoTrack: true, defineGlobal: true,
Ok thanks!
@daanvandenbergh Perfect. Keep me posted today when the update is released.
Sorry meant
fetchpriority=low
@daanvandenbergh thanks!
If you can have the GA4 minimal version updated I will test below. Got an answer. So can you make sure yo have settings to enable that as well?
Provided you’ve set?defineGlobal: true
?in the config options for?@minimal-analytics/ga4
, you should be able to do something like the following:<a onclick="track({ /*[...]*/ })">Click</a>
@daanvandenbergh unfortunately no documentation regarding onclick events but raised an issue to see if he can shine some clarity regarding that.
But the gtag onclick event works on the normal GA4 script right? That they have not changed?