javascript - 自动选择加入 cookie 的浏览器插件 - 欧盟 cookie 法

标签 javascript cookies firefox-addon firefox-addon-sdk

在欧盟,我们有一项法律,要求网页请求存储 cookie 的许可。我们大多数人都了解 cookie 并同意它们,但仍然被迫在任何地方明确接受它们。所以我计划编写这个附加组件(ff & chrome),它将自动添加具有标准名称的 session cookie,这意味着同意。只是想知道一些事情:

1) cookie 的名称应该是什么?值应该是多少?我应该只涵盖用户协议(protocol)选项吗?我的建议是 _cookieok=1 好处是它很短,但具有描述性。

2) 我应该只添加一个 cookie - 我上面建议的那个吗?许多页面已经以不同的方式做到了这一点。他们使用不同的 cookie 名称并检查不同的值。我想也许可以使用流行脚本中的名称和值,例如 http://cookiecuttr.com/但我不想通过大量几乎不需要的 cookie 来增加上传流量。

3) 我应该区分 cookie 的类型吗?我在这里看到了http://demo.cookieconsent.silktide.com/您可以选择加入/选择退出多种 cookie 类型吗?

4)这是否有机会变得流行,还是使用第 2 点之类的东西更好 - 手动添加多个值?

5)我可能也可以在某些事件之后删除这些cookie(例如在所有js onload函数完成之后),但是我在firefox插件中找不到合适的钩子(Hook)。另外,也许有些人想在服务器端过滤掉脚本,所以最好继续发送 cookie。

还有什么我没有想到的吗?我建议的代码是 FF 的情况:

var pageMod = require("sdk/page-mod");
pageMod.PageMod({
    include: "*",
    contentScriptWhen: 'start',
    contentScript: 'document.cookie="_cookieok=1;path=/";'
});

更新

解释它是如何工作的 1) 大多数已经符合 cookie 法的网站都会执行以下操作:

if ($.cookie('_cookieok') == null) {
    $('#cookie-close').on('click', function (evt) {
        $.cookie('cookieok', 1, 300); 
    });
    $('.cookie-prompt').show();
}

所以如果我们同意这样的 ff 插件的同名存在是可能的。如果有人没有插件 - 网站会提示他。如果有网站会将插件添加的 cookie 识别为自己的。

最佳答案

说实话,不太确定这到底有什么意义?

如果您希望构建可在您管理的网站组合中使用的东西,那么您可能会碰碰运气,强制用户安装扩展程序,只是为了表明他们接受您的 cookie。如果它针对的是更广泛的受众,即可能使用任何网站的任何人,那么您将遇到的另一个问题是让用户看到安装另一个扩展的好处,其次让网站运营商编写检测您的 cookie 和采取行动所需的代码相应地。

大多数网站似乎都在努力使 Cookie 和立法规定的相关义务尽可能不具有侵入性 - 要求安装扩展程序和更改网站代码似乎正朝着相反的方向发展。

关于javascript - 自动选择加入 cookie 的浏览器插件 - 欧盟 cookie 法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25218347/

相关文章:

javascript - JavaScript session 何时过期?如何在 session 结束时删除cookie?

php - PHP 中的 setcookie 能否产生多个 "Set-Cookie" header ?

firefox-addon - 如何使用 xpidl (header.py, typelib.py)

firefox - YQL 可以在 Firefox Add-on Builder 中使用吗?

java - 如何使用 JavaScript 覆盖类型 (GWT) 包装回调?

php - 同域 iframe cookie

javascript - 带线条的 Google API 饼图

javascript - 如何使用 js-ctypes Firefox 扩展调用 native C 代码?

javascript - 如何让div模态在每次打开时滚动到顶部?

javascript - 网络音频 API : How to access time/sample rate in a AudioWorkletProcessor?