2015-04-24 11 views
19

Sto cercando di ispezionare il DOM ombra per determinati controlli HTML5, come il selettore di date per lo input type="date" e l'elenco a discesa dei suggerimenti effettivi per gli ingressi associati a datalist. Preferibilmente in Chrome, ma lo faranno anche altri browser.Ispezione dell'ora di selezione della data HTML5 DOM

Ho scoperto che attivando l'impostazione Ombra DOM nelle opzioni ispettore di Chrome mi permette di ispezionare il DOM ombra per l'attuale input (che comprende la freccia ::-webkit-calendar-picker-indicator per mostrare la DatePicker), ma non il datepicker stesso:

enter image description here

Lo stesso vale per lo datalist. Sembra che questi controlli non facciano parte dell'input, ma non posso trovarli da nessun'altra parte nel pannello degli elementi.

È possibile ispezionare tali elementi?

Piccola modifica per chiarimenti: attualmente sto cercando le pseudo-classi applicabili a quali controlli. Ci sono molti siti che ne elencano alcuni, ma devo ancora trovare una fonte che riesca a elencare ::-webkit-calendar-picker-indicator per l'elemento datalist, che viene applicato. Sto cercando più di quei bastardi furtivi, e la fonte migliore per questo è ovviamente la bocca del cavallo.

risposta

11

Sembra che il picker effettivo sia caricato in un livello completamente diverso (fondamentalmente una finestra diversa senza la barra del titolo). Quindi immagino che la risposta sia: no, non puoi.

enter image description here

Sono d'accordo che sarebbe bello essere in grado di personalizzarlo. E anche popup simili. Mozilla in XUL ha display:popup che viene utilizzato dai menu contestuali, flyout e cose simili. Sarebbe sicuramente fantastico poterlo usare anche nel contenuto degli utenti.

+0

Questo è un peccato, grazie. In realtà non cerco nemmeno di personalizzarlo, ma solo di ispezionare la sua struttura e vedere quali pseudo-classi vengono applicate ad esso. –

7

Il popup del calendario di Google Chrome non è in DOM ombra. Si trova in una pagina separata mappata a una finestra popup. Vedi WebPagePopupImpl.cpp

E il contenuto popup è written by HTML/JavaScript.

+1

Interessante! L'unica cosa che non riesco a trovare nel codice sorgente che hai collegato è l'HTML di cui è composto. Di tutte le cose che riesco a vedere, le pseudo-classi che vengono utilizzate sembrano mancare. Sono presenti ovunque nel codice? –

Problemi correlati