检查用户代理影子dom中是否存在伪元素



我查看了Twitter的登录页面,注意到在Chrome中,打开自动填充后,附加到输入元素的shadowDOM中的伪元素会根据是否悬停建议而变化。

当它是普通占位符时,会出现伪元素"-webkit输入占位符",当我的电子邮件地址悬停在上面(未单击(时,会显示"-internal input considered"伪元素。

我附上了我所描述的内容的截图。

屏幕截图:

-webkit输入占位符屏幕截图

-内部输入建议的伪元素

这两个元素都在用户代理shadowDOM中。如何使用javascript检查这些伪元素中的哪一个?

您可以这样做:

var pseudo = document.getElementById("placeholder").getAttribute("pseudo")
if (pseudo == "web-input-placeholder") {
//Do something
} else if (pseudo == "internal-input-suggested") {
//Do something else
}

最新更新