2

搜索似乎只找到使用 JavaScript 的解决方案。我想展示一个 Cookie 同意消息,即使访问者使用脚本阻止程序也可见,所以我想知道这是否可以使用 CSS 和 HTML 完成,而根本不需要任何 JS?

可见部分是一回事。然后是与之交互的问题:一些看起来像按钮的链接可能足以将访问者引导到隐私政策页面等。

但是,使用什么来注册同意,这意味着设置/更改 cookie?在 scriptblocker 主动阻止任何脚本时可以这样做吗?(仅使用 HTML ..?)

因此,由点击触发的页面重新加载是可以接受的。

4

2 回答 2

0

我很确定仅使用 HTML 和 CSS 设置 Cookies/Sessions/etc 是不可能的。如果没有 JavaScript,您将不得不使用一些服务器端语言。正如04FS在评论中所说,您可以将带有 HTML 的表单数据发送到服务器,并在那里执行您需要的操作。

一个快速但有点“脏”的解决方案可以很容易地用 PHP 实现,几乎所有托管服务提供商都支持它,而且它可以毫不费力地嵌入到 HTML 中(毕竟,这就是它最初的目的)。

这是一个非常简单的示例,说明您可以如何去做:

请记住将您的重命名whatever.html为,whatever.php以便您可以实际使用 PHP。

<!-- index.php -->
<html>
<body>

  <div id="dialog" style="<?php isset($_COOKIE['hideDialog']) ? echo 'display: none;' : echo 'display: block;'; ?>">
    <p>Confirm to hide this message</p>
    <form action="saveCookie.php" method="get">
        <input type="submit" value="Confirm">
    </form>
  </div>

</body>
</html>

以及您将使用表单调用的脚本文件:

<?php

// saveCookie.php

setcookie('hideDialog', 'true', strtotime('+ 30 days'), "/");

于 2020-12-11T01:09:10.313 回答
-1

是的,虽然它没有与 JS 相同的功能,但您可以通过执行与我在此处使用黄色电话号码通知相同的操作来完成警告/弹出消息。

查看包裹部分中的黄色电话号码框。

该站点是用纯 HTML/CSS/Vanilla JS 编写的,因此您可以检查页面以了解它是如何完成的。您感兴趣的小片段都是 HTML/CSS。如果这就是你要找的东西,那就很简单了。但是它不能监控像 JS 这样的事件,所以它显然没有这个功能,但是,你可以把它放在它自己的 DIV 中并将它绝对定位,这样它就可以在你想要的任何地方显示页面已加载。

于 2019-10-20T11:54:49.870 回答