2009-08-14 8 views
21

Zastanawiam się, w nowym HTML 5, otrzymamy < audio> i < wideo> tagi, ale dlaczego nie natywny edytowalny combobox i wbudowane wsparcie dla lokalnego menu?Dlaczego w HTML 5 nie ma edytowalnego combobox lub menu lokalnego?

Powodem, dla którego o to pytam jest to, że są to najczęstsze problemy, z jakimi mam do czynienia, gdy muszę zaprojektować rozwiązanie internetowe do typowej aplikacji opartej na tabelach (np. Aplikacja do zarządzania zamówieniami). W odpowiedniej aplikacji klienckiej mogę używać systemu operacyjnego do udostępniania tych funkcji z pudełka (np. JPopupMenu, JComboBox). Dla webappa, muszę poszukać javascript (bibliotek), aby osiągnąć coś podobnego.

Dlaczego nie ma ich w HTML 5?

Wiem, że powinienem unikać dyskusji, takich jak pytania, więc oto kilka dalszych pytań: Czy znasz biblioteki, które mogą robić rzeczy z menu podręcznego i edytowalne rzeczy combobox tanio (być może z małą próbką kodu)?

Odpowiedz

49

W rzeczywistości, można edytować edytowalny combobox lub po prostu combobox przy użyciu nowego atrybutu list elementu wejściowego. Wskazuje element danych, który może dostarczyć listę wstępnie zdefiniowanych opcji:

<input list=languages> 
<datalist id=languages> 
<option value="English"></option> 
<option value="Dutch"></option> 
</datalist>

Dla menu stary element menu został ponownie użyty.

Możesz użyć co najmniej danych w IE> = 10, Firefox> = 37, Chrome> = 39, Opera> = 29. Dane z caniuse datalist. O elemencie menu, tylko Firefox wydaje się mieć częściową obsługę.

+1

Zastrzeżenie: pracuję dla Opery przy HTML5 (między innymi). – Anne

+1

Dobra robota. Czy istnieje sposób, w jaki mógłbym to przetestować? Przeczytałem powiązaną specyfikację HTML5, ale nie jestem pewien, czy w 100% obejmuje ona moje zrozumienie edytowalnego comboboxa, podobnego do jego natywnego odpowiednika. – akarnokd

+0

Załadowanie powyższego w najnowszą kompilację Opery powinno załatwić sprawę. (9.x coś nowego.) – Anne

1

są to łatwe do wykonania przy użyciu JavaScript, <audio> i <video> (i <canvas>!).

Poleganie na bibliotekach JavaScript nie jest złe. Jeśli przeglądarka zrobi wszystko, każda strona będzie wyglądać tak samo.

+1

Podobnie jak audio, wideo i płótno możliwe do zrobienia z lampą błyskową i przyjaciółmi. – akarnokd

+2

celem nie jest poleganie na wtyczkach, takich jak "flash and friends". – Javier

+0

Jedyną wadą dwóch tagów multimedialnych jest to, że wymagają one albo treści ogólnodostępnych (wyobraź sobie bezpośrednią zawartość do pobrania na youtube, straszne!), Albo niestandardowych wtyczek kodeków. Moim celem byłoby również nie polegać na javascript. – akarnokd

3

Stan formantów i elementów sterujących w przeglądarkach to ogólnie rzecz biorąc wielki bałagan.

  • Nie ma spójności do realizacji. Niektórzy używają rodzimych formantów OS (Safari), niektórzy używają dostosowanych formantów (Opera), a niektórzy używają kombinacji obu (IE)
  • Z tego powodu stylizacja/branding formularza nie jest wiarygodny
  • Znów ze względu na powyżej cierpimy (ed) z problemami z indeksem Z.
  • Nawet w przeglądarkach, w których można zastosować styl, jest on niespójny. Czy kiedykolwiek dodasz granicę CSS do input tylko po to, aby zobaczyć kwadraty wokół przycisków opcji?

Generalnie zgadzam się z tobą. Żyjemy z tą samą formą kontroli since HTML 3. Dzięki temu twórcom stron internetowych możemy sami tworzyć bardziej zaawansowane i zaawansowane opcje sterowania. I chociaż mogą one działać, w dużym stopniu opierają się na DHTML i mogą mieć znaczący wpływ na użyteczność.

Byłoby miło zobaczyć postęp w tej dziedzinie.

Powiązane problemy