【发布时间】:2012-10-03 19:02:43
【问题描述】:
我正在为 Google Chrome(目标受众是内部团队)编写一个应用程序,它允许用户从 iframe 中操作元素。用户可以使用鼠标选择 DOM 元素并对它们执行各种操作,例如更改颜色、字体等。
我使用nodeIterator 方法仅选择具有ID 或类名的元素。然后对于这些元素中的每一个,我将一些特定于元素的属性添加到一个对象,并将该对象推送到一个数组。然后,我打开一个 IndexedDB 数据库并将数组中的每个对象添加到数据库中。
我的问题是:只要我不在对象中包含对元素的引用,一切正常。
// Works fine
array.push({
width : currentNode.offsetWidth,
height : currentNode.offsetHeight,
top : currentNode.style.top;
left : currentNode.style.left;
});
// Doesn't work
array.push({
elem : currentNode,
width : currentNode.offsetWidth,
height : currentNode.offsetHeight,
top : currentNode.style.top;
left : currentNode.style.left;
});
Google chrome 在尝试将第一个元素添加到 IndexedDB 存储区后静默失败(控制台中根本没有任何内容)。
我的问题是:有其他人经历过这种行为吗?这是特定于浏览器的错误吗?
我明天将把我的代码提炼到 JSfiddle。提前致谢。
【问题讨论】:
标签: javascript html google-chrome dom indexeddb