【发布时间】:2014-12-16 03:11:53
【问题描述】:
我正在尝试更新一个使用 jQuery.data() 函数来存储信息的网络应用程序。更新涉及重构界面,以便为不同类型的信息提供单独的窗口,而不是在同一页面上仅使用 div。由于某些插件的工作方式,调用它们的代码已被移动到不同的窗口中,以便在需要它们的窗口中运行。但是,这些插件使用的许多回调使用.data() 来查找存储的信息,但是设置.data() 存储的数据的代码在父窗口中,并且似乎没有将数据附加到DOM,它将它存储在附加到窗口的某个位置,因此在子窗口中回调无法再找到他们正在寻找的数据。
使用call(parent, DOMelement.data); 会起作用吗?有没有更整洁的方法来处理这个问题?
提前致谢!
【问题讨论】:
-
这听起来像是 cookie 的理想用途,而不是
$.data()函数。 -
饼干?不适用于现代浏览器
-
Localstorage 也可能在这里工作
-
@epascarello,请详细说明...我在任何地方都使用 $_SESSION cookie。
-
在内部,jQuery 只使用 get/setAttribute 那么为什么不直接使用它和 POJS 来处理
data-*属性呢?
标签: javascript jquery html multi-window cross-window-scripting