Jsdom: HTMLElement.datasetのサポートを追加します

作成日 2014年11月19日  ·  14コメント  ·  ソース: jsdom/jsdom

現在、document.createElement()から返される要素には、予期しない.datasetプロパティがないようです(https://html.spec.whatwg.org/#dom-dataset)。

best-fixed-by-webidl2js feature html living standard

最も参考になるコメント

+1本当にこの機能が必要

全てのコメント14件

#963の説明を参照してください。 これは、V8がプロキシをサポートするまでは不可能です(非標準のProxy.createではなく、 new Proxy )。

+1本当にこの機能が必要

これがまだ仕様に含まれていないことに非常に驚いています。

/lib/jsdom/browser/not-implemented.jsがエラーをスローしないのはなぜですか?

これが必要な場合は、_element_.setAttribute( "data-foo"、 "bar");を使用してください。

これに関する更新はありますか?

少年、私はちょうど1時間かけて、ノードがメモリ不足であるという唯一の症状である問題のこのゴーストをデバッグしました。 getAttribute datasetを使用したことが原因であることが判明しました。 おそらく、その間にヘルパーが警告することで、同じ経験から人々を救うことができるでしょうか? :-/

@domenicによるとノード6以降はProxyがサポートされています。
貢献しやすくするために、これをどのように実装するかについてのガイドラインはありますか?

@idanen最初にDOMStringMapインターフェース、タイプ<a i="8">HTMLElement</a>.prototype.datasetを実装する必要があります。 DOMStringMapを実装するには、プロキシを介してレガシープラットフォームオブジェクト( Web IDLで定義されている)をサポートするためにwebidl2jsを変更する必要があります。 Web IDL仕様には、各内部メソッドが正確に実行する必要があることに関する詳細な手順が含まれています。 (基本的に、Web IDL仕様のものはwebidl2jsに行き、HTML標準のものはjsdomに行きます。)

これに取り組む場合は、私のブランチに基づいて作業することもお勧めします。これは、間もなく統合されることを願っています。

@TimothyGu dom-token-listのようなもの?

@idanen 、いや、それはまったく違うものです。

テストスイートをjsdomに移行するときに、この問題が発生しました。 役立つ場合は、 datasetゲッターとセッターをgetAttributesetAttributeを使用するように変換するために作成したcodemodを次に示します: https ://gist.github.com/schreifels/

このページは役に立ちましたか?
0 / 5 - 0 評価