【问题标题】:customization of AMP-HTMLAMP-HTML 的定制
【发布时间】:2017-03-01 04:56:57
【问题描述】:

为了确保在使用 AMP 时遵守 Cookie 法,我需要能够阻止安装 cookie 的脚本,并且只有在用户同意后才能激活它们。我正在尝试在兼容 AMP 的页面上实现此目的,但遇到了下述问题。

阅读 AMP 文档后,我注意到只有将脚本类型设置为“application/ld+json”时才能插入脚本。 一旦提供 cookie 同意,我们目前处理脚本的阻止和重新激活的方式是在页面源中将脚本类型更改为纯文本/文本,然后仅在获得同意后通过 javascript 将其切换回来。

我们如何在符合 AMP 标准的网页上实现这一点? 如果无法插入自定义脚本标签,我可以创建一个“AMP 插件”或 AMP 系统接受的脚本来实现同样的效果吗? 是否可以在页面加载时阻止 AMP 激活,然后使用特定触发器激活它?

此外,我们注意到 AMP js 本身正在安装 cookie。 AMP js的加载是否也需要用户同意cookies?

提前感谢您的帮助。

【问题讨论】:

  • 你能在你想写的cookies上添加一些cmets吗?这是分析供应商之一写的东西吗?

标签: javascript cookies amp-html


【解决方案1】:

无论哪种方式,Cookie 都可能很麻烦。 AMP 站点是通过 Google CDN 交付的 - 因此它们在 google 子域而不是您自己的域上运行。谷歌这样做是为了进一步加快网站的渲染速度。

因此,即使您可以编写 cookie,它的范围也将是 google 子域,而不是您自己的域。

在 amp-analytics 插件的上下文中似乎有一些变通方法: https://www.ampproject.org/docs/guides/analytics/analytics_basics

【讨论】:

    【解决方案2】:

    这是cookie accept sample
    希望这可以帮助。通常只通知用户您使用 cookie 是可以的。
    如果您想在加载 AMP 之前阻止 cookie,则必须通过脚本自行处理。用户不接受时相同。

    【讨论】:

    • 如果您想在加载 AMP 之前阻止 cookie,您必须通过脚本自行处理。同样当用户不接受时。 这可能是一个好主意,但我尝试过没有好的结果。你有什么例子可以给我看吗?
    【解决方案3】:

    可以通过传入amp-user-notification-id 来控制Cookie 写入,如https://github.com/ampproject/amphtml/blob/master/extensions/amp-analytics/analytics-vars.md#clientid 中所述

    您需要使用的确切代码取决于编写 cookie 的组件。它是分析供应商还是广告或其他什么?

    【讨论】:

    • 感谢您的建议阿维。我想阻止所有安装 cookie 的组件:在 html 标记中指定属性data-consent-notification-id=“amp-user-notification-id 是否足够?我看到并非所有组件(如第三方组件等)都接受此属性。在这种情况下我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多