ユーザーがiframe内から要素を操作できるようにするGoogleChrome用のアプリケーションを作成しています(対象読者は内部チームです)。ユーザーはマウスを使用して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;
});
IndexedDBストアに最初の要素を追加しようとした後、Google Chromeはサイレントに失敗します(コンソールには何も表示されません)。
私の質問はこれです:他の誰かがこの振る舞いを経験しましたか、そしてこれはブラウザ特有のバグですか?
明日、コードをJSfiddleに蒸留します。前もって感謝します。