mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-04 13:46:13 +08:00 
			
		
		
		
	# Conflicts: # package-lock.json # package.json # server/model/monitor.js # server/monitor-types/tailscale-ping.js # server/socket-handlers/general-socket-handler.js # server/uptime-kuma-server.js
		
			
				
	
	
		
			29 lines
		
	
	
		
			1022 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1022 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const jsesc = require("jsesc");
 | 
						|
const { escape } = require("html-escaper");
 | 
						|
 | 
						|
/**
 | 
						|
 * Returns a string that represents the javascript that is required to insert the Google Analytics scripts
 | 
						|
 * into a webpage.
 | 
						|
 * @param {string} tagId Google UA/G/AW/DC Property ID to use with the Google Analytics script.
 | 
						|
 * @returns {string} HTML script tags to inject into page
 | 
						|
 */
 | 
						|
function getGoogleAnalyticsScript(tagId) {
 | 
						|
    let escapedTagIdJS = jsesc(tagId, { isScriptContext: true });
 | 
						|
 | 
						|
    if (escapedTagIdJS) {
 | 
						|
        escapedTagIdJS = escapedTagIdJS.trim();
 | 
						|
    }
 | 
						|
 | 
						|
    // Escape the tag ID for use in an HTML attribute.
 | 
						|
    let escapedTagIdHTMLAttribute = escape(tagId);
 | 
						|
 | 
						|
    return `
 | 
						|
        <script async src="https://www.googletagmanager.com/gtag/js?id=${escapedTagIdHTMLAttribute}"></script>
 | 
						|
        <script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date());gtag('config', '${escapedTagIdJS}'); </script>
 | 
						|
    `;
 | 
						|
}
 | 
						|
 | 
						|
module.exports = {
 | 
						|
    getGoogleAnalyticsScript,
 | 
						|
};
 |