thoughtco/statamic-cookiepanel

此包的最新版本(2.2.1)没有提供许可证信息。

Statamic网站的Cookie面板

安装: 351

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 7

分支: 0

开放问题: 0

语言:JavaScript

2.2.1 2024-09-18 10:38 UTC

README

Cookie Panel是Statamic的一个插件,为前端网站提供了一个以隐私优先的Cookie面板。它与完全静态缓存的网站完美配合。

如何安装

从项目根目录运行以下命令

composer require thoughtco/statamic-cookiepanel

工作原理

此插件应提供{{ cookie_panel:has_consented_to }}标签,您可以使用它将任何外部库(如Google Analytics、地图、Meta Pixels)包裹在<template>标签中,以便默认情况下不显示。

在页面加载时,{{ cookie_panel:scripts }}标签会检查哪些Cookie组已被同意,如果已同意,则会显示它们。

同意通过{{ cookie_panel:panel }}标签管理,该标签从网站CP中的新Cookie Panel全局设置中提取设置。同意组存储在LocalStorage中,因此不设置任何cookie,完全支持静态缓存。

如何使用

将以下文件添加到您站点的布局中,它们是使其他标签正常工作的必需文件

{{ cookie_panel:scripts }}
{{ cookie_panel:styles }}

检查是否已给予同意

将任何设置cookie的库包裹在这个标签内:{{ cookie_panel:has_consented_to type="group-name" }}

例如

{{ cookie_panel:has_consented_to type="analytics" }}
	<!-- Google Tag Manager -->
	<script>Bad stuff here</script>
	<!-- End Google Tag Manager -->		
{{ /cookie_panel:has_consented_to }}

输出Cookie面板

要向最终用户显示Cookie同意面板,请添加

{{ cookie_panel:panel }}

输出Cookie表

如果您想向用户显示cookie列表,请添加以下内容到Cookie面板全局中

{{ cookie_panel:cookie_table }}

通过JavaScript与同意交互

{{ cookiepanel:scripts }}标签为您全局JavaScript提供了ConsentPanel变量。

它有几个您可以访问的方法

ConsentPanel.open() / ConsentPanel.close()

使用这些方法打开和关闭面板。

ConsentPanel.hasConsentedTo('group-name')

使用此方法确定是否已对某个cookie组给予同意。

ConsentPanel.getContentSettings()

此方法提供了一个包含已同意的cookie组句柄的数组。