ドロップダウンリストにいくつのオプションを含めることができるか知っている人はいますか? 無制限ですか?パフォーマンスが低下するまでの回数は?
6 に答える
ドロップダウンリストにいくつのオプションを含めることができるか知っている人はいますか? 無制限ですか?
理論的には無制限だと思いますが、コンピューターの RAM と特定のブラウザーの制限が影響するため、実際には明らかにそうではありません。
パフォーマンスが低下するまでの回数は?
繰り返しますが、これはいくつかの要因、少なくとも特定のブラウザー、コンピューターのメモリ、および処理能力に依存します。
編集:経験から、私は何千ものオプションを持つドロップダウンリストを持っていました. 誰がそれらすべてをスクロールしたいので、理想的ではありませんでした。これが、多くの理由、特にエンド ユーザーのエクスペリエンスから、ある種のオートコンプリートがより望ましい理由です。
更新: 4GB メモリ PC 上の Firefox を使用した Ubuntu でテストされた DannyG に基づいて、制限は 10k タグをはるかに超えていました。私の現在の Firefox は最大 3GB を使用するように設定されており、オプションは 100k に達していますが、そのためには、ブラウザーのデフォルト構成を変更する必要があると思います。
30 以上のオプションが指定されているすべてのケースで、代替として Ajax オートコンプリートを使用することを選択しました。
Firefox と Chrome の両方が、Windows 64b で 10k オプションに制限され、デフォルト構成で 4GB RAM が搭載されています。
JSFiddle http://jsfiddle.net/Mare6/でテスト済み
for (var i=0; i<10000; i++) {
var name = "Option "+i;
var sel = document.getElementById("list");
sel.options[sel.options.length] = new Option(name,i);
}
<a>Testing Select</a>
<select id="list"></select>
よろしく、
はい、Chrome と Safari の最大数はselect
、少なくとも要素の 10000 アイテムです。
Chrome ソースの関連する行は次の場所にあります: Defined max of 10000、Code that enforces limit and puts error in console
私のテストでは、Firefox には実質的な制限はないようです。
リストで約 500 を使用しましたが、それが役立つ場合、パフォーマンスへの顕著な影響はありません!
私の経験では、パフォーマンスの低下は一般的にユーザーの側にあり、私のゴールデン ルール (どこかで学んだ) は 7 つのオプションです。
より SW 関連のベースでは、おそらく Integer のトップ レンジです。
編集:ところで、これはAtwoodからの関連性のあるものです