gpt4 book ai didi

javascript - .data() html5跨窗口

转载 作者:行者123 更新时间:2023-12-02 16:23:21 25 4
gpt4 key购买 nike

我正在尝试将一些数据放入子窗口 html 标记中。但这似乎不起作用。我尝试将它与子窗口上的一些 jquery 一起放入,效果很好。

下面是在父窗口中实现的将数据发送到子窗口的代码:

$(".something", fullscreen.document).data("data1", "whatever");

这将在子窗口中使用以下 jQuery 代码返回“未定义”。

console.log($(".something").data("data1"));

但是当我使用子 jQuery 脚本存储数据时,它工作得很好:

$(".something").data("data1", "whatever");

不允许跨窗口数据存储到标签中吗?

最佳答案

jQuery 使用自己的数据存储来存储您使用 .data() 设置的数据。 jQuery 的每个实例(在每个窗口中)都将拥有自己独立的数据存储,因此当从另一个实例调用时,您不会从一个实例获得结果。

如果您的数据只是一个字符串,那么您可能会发现更容易不用担心多个实例数据存储,只需使用 .attr() 将字符串存储为实际属性DOM 对象。然后,关于它的存储位置或如何访问它的问题为零,因为它直接位于 DOM 对象上,您可以从任一 jQuery 实例轻松访问该对象。

// store data on the object
$(".something", fullscreen.document).attr("data-data1", "whatever");

// read data from within the target window
console.log($(".something").attr("data-data1"));

请注意使用 HTML5 "data-xxx" 约定以避免任何属性命名与标准属性发生冲突。

关于javascript - .data() html5跨窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28907295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com