使用JavaScript解析HTML中脚本标记内的数据

4xy9mtcn  于 12个月前  发布在  Java
关注(0)|答案(2)|浏览(86)

尝试使用JavaScript解析HTML中标记中包含的一些数据。具体地说,我想检索'email'的值,如下面的脚本所示,预期输出为“email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)”

<script type = 'text/javascript" nonce>

var _hsq = window._hsq = window._hsq || [];

_hsq.push(["identify",{
    email: "[email protected]",
    firstname: "yourfirstname",
    lastname: "yourlastname",
}]);

</script>

尝试使用document.queryName和document.getElementsByTagName来隔离HTML元素,但由于脚本标记没有唯一的ID或类,因此无法隔离有问题的特定脚本。我也试过阅读“_hsq”变量,但它没有返回任何东西。

dgtucam1

dgtucam11#

您可以使用_hsq.slice(-1)获取_hsq的最后一个元素,然后使用类似_hsq.slice(-1)[0][1].email的内容提取电子邮件。

dldeef67

dldeef672#

您要查找的数据已附加到window对象,因此您可以从那里检索它。你不需要看DOM。

var _hsq = window._hsq = window._hsq || [];

_hsq.push(["identify",{
    email: "[email protected]",
    firstname: "yourfirstname",
    lastname: "yourlastname",
}]);

console.log(window._hsq[window._hsq.length-1][1].email)

(It并不是有史以来发明的最干净的数据格式;如果您能够更改这些代码,那么最好使用简单对象或对象的平面数组,而不是每个包含名称和对象的数组的数组。)

相关问题