【问题标题】:Trigger an action when document.cookie changes?当 document.cookie 改变时触发一个动作?
【发布时间】:2012-03-11 14:09:09
【问题描述】:

document.cookie 更改时,我需要更新localStorage。有什么方法可以设置监听器,覆盖原型以充当中间件或其他模式,从而能够触发更改功能?我试图避免像间隔轮询这样的事情。

感谢您的任何想法。

【问题讨论】:

  • @dirkbonhomme 这个问题的答案是创建一个轮询器。这个问题具体说I'm trying to avoid something like polling on an interval.

标签: javascript dom browser webkit mozilla


【解决方案1】:

无法避免,这些事件根本不存在,您需要投票。

【讨论】:

  • 现在我正在以自定义方式从我的应用程序中设置所有 cookie,从而允许我与这些事件相关联。只是想将其模块化为纯客户端。
  • 无赖,这不是我想听到的 smassey :P
【解决方案2】:

试试 cookies.onChanged

browser.cookies.onChanged.addListener(function(changeInfo) {
  console.log('Cookie changed: ' +
              '\n * Cookie: ' + JSON.stringify(changeInfo.cookie) +
              '\n * Cause: ' + changeInfo.cause +
              '\n * Removed: ' + changeInfo.removed);
});

注意浏览器兼容性。

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/cookies/onChanged

【讨论】:

  • 这是 Web 扩展 API(用于浏览器扩展)的一部分,在普通客户端代码中不起作用。
猜你喜欢
  • 1970-01-01
  • 2018-05-02
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多