首页 > 解决方案 > 检查用户代理影子dom中是否存在伪元素

问题描述

我正在查看 Twitter 的登录页面,并注意到在具有自动填充功能的 Chrome 中打开了附加到输入元素的 shadowDOM 内的伪元素,这取决于建议是否悬停在上面。

当它是普通占位符时,存在伪元素“-webkit-input-placeholder”,当我的电子邮件地址悬停在(未单击)上时,存在“-internal-input-suggested”伪元素。

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

截图:

-webkit-input-placeholder 截图

-内部输入建议的伪元素

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

标签: javascripthtmlcsspseudo-elementshadow-dom

解决方案


你会这样做:

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

推荐阅读