关于收集统计的通知
您可以通知您的网站用户将收集统计,并推迟在网站页面上加载 Yandex Metrica 计数器的代码片段。
如果用户同意传输信息,则计数器代码将正常加载。 未经用户同意,将不会加载该代码片段。 用户的一次性选择可以应用于网站或域上的所有其他页面。
要启用警报并实现计数器代码的延迟加载,请联系您的网站管理员。
警报示例
您可以使用任何文本向用户通知统计收集的情况。 请注意,以下文本仅为通知中显示文本的示例。 Yandex 不对其是否符合法律要求负责。 在发布文本前,我们建议您咨询律师。
本网站收集会话统计数据和访客数据。
[指向您网站的《使用条款》或《隐私政策》的链接]
代码实现的示例
...
<head>
<meta charset="UTF-8">
<title>Page title</title>
<!--This example uses the reset.css style. You can use your own approach.-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
<!--This example uses the js-cookie library to manage cookies. You can use your own approach.-->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.2/js.cookie.js"></script>
<style>
* {
box-sizing: border-box;
}
body {
width: 100%;
height: 100%;
}
.cookie-notification {
position: fixed;
background-color: rgba(0, 0, 0, .8);
bottom: 0;
width: 100%;
color: white;
padding: 15px;
}
.cookie-notification_hidden_yes {
display: none;
}
.cookie-notification__header {
margin-bottom: 10px;
font-size: 23px;
}
.cookie-notification__body {
margin-bottom: 10px;
}
</style>
</head>
<body>
Site content
<div class="cookie-notification cookie-notification_hidden_yes">
<div class="cookie-notification__header">Notice about collecting statistics</div>
<div class="cookie-notification__body">
<p>This site collects session statistics and user data.</p>
<p>[Link to the Terms of Use or Privacy policy of your site]</p>
</div>
<div class="cookie-notification__buttons">
<button class="cookie-notification__button" id="yes">I agree</button>
</div>
</div>
<script type="text/javascript">
var messageElement = document.querySelector('.cookie-notification');
// If there are no cookies, show a placeholder
if (!Cookies.get('agreement')) {
showMessage();
} else {
initCounter();
}
// Load the code snippet immediately
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document,'script','https://mc.yandex.ru/metrika/tag.js', 'ym')
// This function adds the class to the DOM element. You can use the jQuery library or another framework.
function addClass (o, c) {
var re = new RegExp("(^|\\s)" + c + "(\\s|$)", "g");
if (!o || re.test(o.className)) {
return;
}
o.className = (o.className + " " + c).replace(/\s+/g, " ").replace(/(^ | $)/g, "");
}
// This function removes the class from the DOM element. You can use the jQuery library or another framework.
function removeClass (o, c) {
var re = new RegExp('(^|\\s)' + c + '(\\s|$)', 'g');
if (!o) {
return;
}
o.className = o.className.replace(re, '$1').replace(/\s+/g, ' ').replace(/(^ | $)/g, '');
}
// Function that hides the notice
function hideMessage () {
addClass(messageElement, 'cookie-notification_hidden_yes');
}
// Function that shows the notice
function showMessage () {
removeClass(messageElement, 'cookie-notification_hidden_yes');
}
function saveAnswer () {
// Hide the notice
hideMessage();
// Set cookies
Cookies.set('agreement', '1');
}
function initCounter () {
ym(XXXXXXXX, 'init', {});
saveAnswer();
}
// Clicked the "I agree" button
document.querySelector('#yes').addEventListener('click', function () {
initCounter();
});
</script>
</body>
...
...
<head>
<meta charset="UTF-8">
<title>Page title</title>
<!--This example uses the reset.css style. You can use your own approach.-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
<!--The example uses the js-cookie library for working with cookies. You can use your own approach-->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.2/js.cookie.js"></script>
<style>
* {
box-sizing: border-box;
}
body {
width: 100%;
height: 100%;
}
.cookie-notification {
position: fixed;
background-color: rgba(0, 0, 0, .8);
bottom: 0;
width: 100%;
color: white;
padding: 15px;
}
.cookie-notification_hidden_yes {
display: none;
}
.cookie-notification__header {
margin-bottom: 10px;
font-size: 23px;
}
.cookie-notification__body {
margin-bottom: 10px;
}
</style>
</head>
<body>
Site Content
<div class="cookie-notification cookie-notification_hidden_yes">
<div class="cookie-notification__header">Notice about collecting statistics</div>
<div class="cookie-notification__body">
<p>This website collects session statistics and user data.</p>
<p>[Link to the User Agreement of your website or to the Privacy Policy of your website]</p>
</div>
<div class="cookie-notification__buttons">
<button class="cookie-notification__button" id="yes">I agree</button>
</div>
</div>
<script type="text/javascript">
var messageElement = document.querySelector('.cookie-notification');
// If there aren't any cookies, show a placeholder
if (!Cookies.get('agreement')) {
showMessage();
} else {
initCounter();
}
// Load the code snippet immediately
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document,'script','https://mc.yandex.ru/metrika/tag.js', 'ym')
// This function adds the class to the DOM element. You can use the jQuery library or another framework
function addClass (o, c) {
var re = new RegExp("(^|\\s)" + c + "(\\s|$)", "g");
if (!o || re.test(o.className)) {
return;
}
o.className = (o.className + " " + c).replace(/\s+/g, " ").replace(/(^ | $)/g, "");
}
// This function removes the class from the DOM element. You can use the jQuery library or another framework.
function removeClass (o, c) {
var re = new RegExp('(^|\\s)' + c + '(\\s|$)', 'g');
if (!o) {
return;
}
o.className = o.className.replace(re, '$1').replace(/\s+/g, ' ').replace(/(^ | $)/g, '');
}
// Function that hides the alert.
function hideMessage () {
addClass(messageElement, 'cookie-notification_hidden_yes');
}
// Function that shows the alert.
function showMessage () {
removeClass(messageElement, 'cookie-notification_hidden_yes');
}
function saveAnswer () {
// Hide the alert.
hideMessage();
// Set cookies.
Cookies.set('agreement', '1');
}
function initCounter () {
ym(XXXXXXXX, 'init', {});
saveAnswer();
}
// Clicked the "I agree" button.
document.querySelector('#yes').addEventListener('click', function () {
initCounter();
});
</script>
</body>
...
其中
XXXXXXXX—— 您的计数器编号。