检查 HTML5 日期选择器影子 DOM

Inspect HTML5 date picker shadow DOM

我正在尝试检查某些 HTML5 控件的影子 DOM,例如 input type="date" 的日期选择器和绑定到 [ 的输入的实际建议下拉列表=13=]。最好在 Chrome 中,但其他浏览器也可以。

我发现,通过在 Chrome 的检查器选项中启用阴影 DOM 设置,我可以检查阴影 DOM 的实际 input(其中包括 ::-webkit-calendar-picker-indicator 箭头以显示日期选择器)但不包括日期选择器本身:

datalist也是如此。看起来这些控件不是输入的一部分,但我也无法在元素面板的其他任何地方找到它们。

是否可以检查此类元素?

小编辑澄清:我实际上是在寻找哪个伪 类 适用于哪个控件。有很多网站列出了其中的一些,但我还没有找到设法为 datalist 元素列出 ::-webkit-calendar-picker-indicator 的来源,该元素确实得到了应用。我正在寻找更多那些偷偷摸摸的混蛋,最好的来源当然是马嘴。

看起来实际的选择器加载在一个完全不同的层中(基本上是一个不同的 window,没有标题栏)。所以我想答案是:不,你不能。

我同意能够自定义它会很棒。还有类似的弹出窗口。 XUL 中的 Mozilla 有 display:popup,它被上下文菜单、弹出窗口和类似的东西使用。也能在用户空间内容中使用它肯定很棒。

GoogleChrome 的日历弹出窗口不在阴影 DOM 中。 它位于映射到弹出窗口的单独页面中 window。参见 WebPagePopupImpl.cpp

弹窗内容为written by HTML/JavaScript.