2015-04-24 11 views
19

Ich versuche, das Schatten-DOM für bestimmte HTML5-Steuerelemente wie die Datumsauswahl für die input type="date" und die tatsächliche Vorschlag Dropdown-Liste für Eingaben an eine datalist gebunden zu überprüfen. Am besten in Chrome, aber andere Browser werden es auch tun.Inspizieren HTML5-Datumsauswahl Schatten DOM

Ich habe festgestellt, dass die Schatten DOM Einstellung in Chrome Inspektoren Optionen durch Aktivierung ermöglicht es mir, den Schatten DOM für die eigentlichen input (die den ::-webkit-calendar-picker-indicator Pfeil beinhaltet die Datepicker zeigen) zu inspizieren, aber nicht die Datumsauswahl selbst:

enter image description here

Das gleiche gilt für die datalist. Es erscheint, da diese Steuerelemente nicht Teil der Eingabe sind, aber ich kann sie auch nirgendwo anders im Elementfenster finden.

Ist es möglich, solche Elemente zu überprüfen?

Kleine Bearbeitung zur Verdeutlichung: Ich bin eigentlich auf der Suche nach welchen Pseudo-Klassen für welche Steuerelemente gelten. Es gibt viele Websites, die einige von ihnen auflisten, aber ich muss noch eine Quelle finden, die es schafft, die ::-webkit-calendar-picker-indicator für das Element datalist aufzulisten, das angewendet wird. Ich suche nach mehr dieser hinterhältigen Bastarde, und die beste Quelle dafür ist natürlich der Mund des Pferdes.

Antwort

11

Sieht so aus, als wäre der eigentliche Picker in einer völlig anderen Ebene geladen (im Grunde ein anderes Fenster ohne die Titelleiste). Ich denke, die Antwort lautet: Nein, das geht nicht.

enter image description here

Ich bin damit einverstanden, es wäre toll, um es anzupassen. Und ähnliche Popups auch. Mozilla in XUL hat display:popup, die von Kontextmenüs, Flyout und ähnlichen Dingen verwendet wird. Wäre definitiv toll in der Lage, das in Userland-Inhalten zu verwenden.

+0

Das ist eine Schande, danke. Ich bin wirklich nicht in der Lage, es anzupassen, sondern nur seine Struktur zu überprüfen und zu sehen, welche Pseudo-Klassen darauf angewendet werden. –

7

Das Kalender-Popup von Google Chrome befindet sich nicht im Shadow-DOM. Es befindet sich in einer separaten Seite, die einem Popup-Fenster zugeordnet ist. Siehe WebPagePopupImpl.cpp

Und der Popup-Inhalt ist written by HTML/JavaScript.

+1

Interessant! Das einzige, was ich im Quellcode, den Sie verlinkt haben, nicht zu finden scheint, ist der HTML-Code, aus dem es besteht. Von all den Dingen, die ich darin sehen kann, scheinen die verwendeten Pseudoklassen zu fehlen. Sind sie irgendwo im Code vorhanden? –