使用Javascript获取web元素的名称

使用Javascript获取web元素的名称,javascript,regex,Javascript,Regex,上面的代码是为了获取web元素的名称,但我不明白它是如何工作的,所以有人能为我解释一下它的细节吗?了解它们是什么 如果您不知道是什么,那么这是您需要学习的第一件事,因为这段代码所做的基本上就是使用正则表达式。例如,代码.replace(/\s/g,“+”)将用+符号替换字符串中的所有空白字符。这大概是因为当你使用谷歌搜索时,谷歌总是会为你这样做 .replace(/^.*\/\\?.$\\.$\.$\.$\&.$/g),将在uri中的第一个/之前删除所有内容,还将删除所有查询。例如,googl

上面的代码是为了获取web元素的名称,但我不明白它是如何工作的,所以有人能为我解释一下它的细节吗?

了解它们是什么

如果您不知道是什么,那么这是您需要学习的第一件事,因为这段代码所做的基本上就是使用正则表达式。例如,代码
.replace(/\s/g,“+”)
将用
+
符号替换字符串中的所有空白字符。这大概是因为当你使用谷歌搜索时,谷歌总是会为你这样做

.replace(/^.*\/\\?.$\\.$\.$\.$\&.$/g),
将在uri中的第一个
/
之前删除所有内容,还将删除所有查询。例如,
google.com/some/page.html?var=value
将变成
some/page.html

是一个javascript函数,它将获取用编码的字符串并将其转换为普通字符串

javascript中的
|
运算符将返回左操作数(如果左操作数为true),否则将返回右操作数的值。在本例中,作者似乎将此运算符用作条件。他首先尝试三次取消url编码,然后用正则表达式删除部分字符串。如果这样做会产生一个空字符串,那么
|
操作符将返回正确操作符的值,然后(并且只有在那时)直接跳转到regex replacement,而不首先取消编码。为什么?我不知道作者为什么要这么做,但事实就是如此


还有一些其他的细节,但这就是要点。基本上,如果你真的想知道发生了什么,你应该学习regex。

你说的“web元素”是什么意思?对于MΓΓББLL来说,web元素是指网页上的元素,如图像。嗨,Thr4wn,谢谢你的回答,但我还有两个问题:1。为什么作者尝试对url进行三次取消编码,然后使用附加的
decodeURIComponent
unescape
进一步取消编码?2.为什么作者首先使用
.replace(/\s/g,“+”)
将字符串中的所有空白字符替换为
+
符号,然后使用
.replace(/\+/g,”)
+
符号替换为空白?非常感谢你!超黄,我很乐意帮忙。但为了进一步提供帮助,我需要一些示例,说明输入是什么,您在哪里看到了这些代码,以及web元素的含义。我熟悉js和regex,但我想更好地了解应用程序的领域。谢谢。这些代码来自一个名为“cloud save”的chrome扩展,它允许您直接将网页中的web元素(如图像)保存到云存储(如google docs、dropbox等),而无需将其保存到您自己的计算机,然后将其上载到您的云存储。你可以在这里找到我问题中的代码:(在第111-118行之间)考虑到完整的上下文,我现在可以看到这显然是他为了完成某件事而做的一次快速破解:)。因此,由于代码不干净和/或整洁,您必须要求他获得更多的理解。
var name = unescape(decodeURIComponent(
    unescape(unescape(unescape(url)))
    .replace(/\s/g, '+')
    .replace(/^.*\/|\?.*$|\#.*$|\&.*$/g,'') || 
    url.replace(/.*\/\/|www./g,'')
    .replace(/[^\w]+/g,'_')
    .replace(/^_*|_*$/g,''))
).replace(/\+/g, ' ');