我正在构建一个Chrome扩展程序,我的目标是:
一旦用户在Reddit上点击用户名,我想在我的内容脚本页面上捕获该用户名并将其发送到我的后台页面。
这是 reddit 中随机用户的 html 的样子,类名不一致,所以我不能使用它。
<a class="s1vhwcq3-4 eTpNeg s1461iz-1 gWXVVu" href="/user/strasse86">u/strasse86</a>
到目前为止,我一直在尝试使用鼠标悬停只是试图捕获用户名但没有成功,因为它总是返回第一个捕获的结果。
window.onmouseover=function(e) {
var href = document.getElementsByClassName(e.target.className[i].href);
if ( typeof href != "undefined") {
if (href.includes("https://www.reddit.com/user/")){
// do more actions..
}
}
};
请问有什么想法吗?
我不确定这是否会有所帮助,但这至少是您可以查看的内容。
window.onmouseover=function(e) {
var href = e.target.href;
if ( href) {
if (href.includes("https://www.reddit.com/user/")){
console.log('Contains reddit');
} else {
console.log('Does not contain reddit');
}
}
};
<a class="s1vhwcq3-4 eTpNeg s1461iz-1 gWXVVu" href="/user/strasse86">u/strasse86</a>
<a class="s1vhwcq3-4 eTpNeg s1461iz-1 gWXVVu" href="/user/strasse87">u/strasse87</a>
<a class="s1vhwcq3-4 eTpNeg s1461iz-1 gWXVVu" href="https://www.reddit.com/user/strasse88">u/strasse88</a>
document.onclick = (e) => {
console.log(e.target.tagName)
}
使用 document.onclick 和 e.target 给出 HTML 元素。
相关答案: https://stackoverflow.com/a/75472142/12298205