Canonical cookie政策组成部分
这个项目包含在网页上显示 cookie 策略通知的脚本和样式.
您可以在自己的网页上显示您选择的自定义 cookie 消息 .
使用量
这个工程可以通过一个 国家防范机制一揽子计划。 。 。 .
yarn add @canonical/cookie-policy
或者说...
npm install @canonical/cookie-policy
然后可以通过直接链接或通过ES6导入来安装库.
- 通过直接链接
要直接使用该图书馆,请在JS文件中添加一个链接,其中包含 IIFE (英语) 并呼唤自由:
<script src="[ INSERT YOUR LOCAL PATH ]/js/cookie-policy.js"></script>
<script>
cpNs.cookiePolicy();
</script>
- 通过ES6导入
import { cookiePolicy } from '@canonical/cookie-policy';
字体
从4.0.0版本开始,饼干政策风格不再包括Ubuntu字体. 横幅用 "Ubuntu variable" 但期望页面能加载它.
- 如果你的网站使用香草,你已经有了: 香草的基底样式包括字体.
- 如果您的网站主机字体本身,没有改变:
@font-face规则. - 否则在您网站的CSS中添加这些规则:
@font-face {
font-family: "Ubuntu variable";
font-stretch: 100%;
font-style: normal;
font-weight: 100 800;
font-display: swap;
src: url("https://assets.ubuntu.com/v1/f1ea362b-Ubuntu%5Bwdth,wght%5D-latin-v0.896a.woff2") format("woff2");
}
@font-face {
font-family: "Ubuntu variable";
font-stretch: 100%;
font-style: italic;
font-weight: 100 800;
font-display: swap;
src: url("https://assets.ubuntu.com/v1/90b59210-Ubuntu-Italic%5Bwdth,wght%5D-latin-v0.896a.woff2") format("woff2");
}
这些都是相同的文件 香草装载。 没有他们,横幅就回到系统字体上.
cookie 政策参数
制定饼干政策的饼干政策功能需要两个可能的参数:
callback(default = null) - 一个回调功能,在用户选择 cookie 偏好后调用initWithCookieService(default = false) - 一个bool,它决定了是否尝试和我们的共享cookie服务互通
取消饼干政策
如果您希望用户更改他们的偏好, 您可以添加 js-revoke-cookie-manager 分类到文件中包含的任何内容,以召回政策主管.
<button class="js-revoke-cookie-manager">Revoke cookie manager</button>
或者说
<a href="" class="js-revoke-cookie-manager">Revoke cookie manager</a>
访问已禁用跟踪器的页面
如果您添加查询 ?cp=hide 切换到任何 URL 的 cookie 策略将不会被执行 。 主要的用法是访问政策页面而不以模式来封锁内容.
回呼钩
在选择首选时,您可以使用回调设置 cookie 策略 .
function callbackFunction() {
alert('Calling back');
}
cpNs.cookiePolicy(callbackFunction);
共享饼干服务
若为 initWithCookieService = true,这触发函数的调用 initSharedCookieService(),并意味着饼干政策将试图从我们的饼干数据库中取回用户饼干偏好. 这需要弗拉斯克扩展 cookie service (英语) 将插入项目.
若为 initWithCookieService = false 或没有通过,饼干政策 将只使用饼干设置在该特定网站.
共享 cookie 服务逻辑设置了以下附加 cookie :
_cookies_accepted: all|performance|functional|essential|unset:用户选择的首选._cookies_freshness_ts: <timestamp>:这是用来保证已经设定的饼干在1天前是新鲜的. 如果不是,它将为最新的饼干查询中央服务._cookies_set_offline: true | null: 如果在没有饼干时设置了饼干偏好, 则设置了此旗帜 。 下次服务上线时, cookie 首选项会被同步并去掉旗帜.
Flask 扩展设置了额外的饼干 cookie service (英语)数字 :
_cookies_auth_token: <encrypted_token>:用来识别不同站点之间的用户. 中央存储为 https://cookies.canonical.com (中文(简体) ),作为一个会话饼干._cookies_redirect_attempted: 1 | null: 这是一面旗子, 用来表示重新定向到中央服务, 用于认证和初始设置_cookies_auth_token,已尝试(无论是否成功)。 会议于届会结束时结束.
通过 ES6 导入的完整示例
import { cookiePolicy } from '@canonical/cookie-policy';
cookiePolicy();
饼干组
基本饼干总是允许的,除非用户在浏览器中关闭. 否则,将会有一系列价值 _cookies_accepted 饼干可以包含:
| Cookie 值 | 说明 | 说明 |
|---|---|---|
| 全部 | 所有饼干都被用户接受. 现有部件目前使用 | 上一个数值是 true使用同样的饼干. |
| 关键 | 基本的饼干接受. | 用于隐藏通知而不是设置 cookie |
| 业绩 | 性能饼干接受. | - 说吧 |
| 函数 | 功能饼干被接受. | - 说吧 |
API - / cookies/ set- 首选项
这个软件包将尝试 POST 用户 cookie 偏好到我们的共享 cookie 服务( cookies.canonical.com).
这是由一个 Python 软件包, cononical webteam.cookies service, 揭示一个内部端点"/ cookies/ set-preference",
尝试POST只能提供饼干 _cookies_service_up=1 已存在。 不使用上述 Python 软件包的应用程序不会试图 POST 用户偏好 .
捐款
如果您想帮助改进此工程, 这里列出一系列命令 帮你开始吧.
制定饼干政策
安装必要的依赖关系;
npm install
要将JS和CSS构建到构建文件夹中,运行:
npm run build
您可以通过运行查看动作中的构建文件 :
npm run serve
还有,访问http://0.0.0.0:8301/
抢劫
当开发此工程时, 您可以运行以下命令以监听
变动 src/js/*js 财务报告和审定财务报表 src/sass/*scss 文件夹并建入
/build 文件夹.
npm run watch
在提交拉拉请求之前,先检查一下电线 检查JS 和Sass 对于错误.
npm run test
代码许可LGPLv3 由Canonical Ltd.
和来自Canonical的..