如何从通过 xhr 请求获取的页面的 HTML 源中的脚本标记访问变量值。
获取页面的 HTML...
<html>
<body>
<div id="somecontent"></div>
<script>
var foo="30";
</script>
<script>
var bar="60";
</script>
</body>
</html>
并通过 xhr 请求获取...
var xhr = new XMLHttpRequest();
xhr.open("GET","http://www.example.com/testpage.html");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var html = xhr.responseText;
// try to access var
var result =html.foo+html.bar;
console.log(result);
}
}
xhr.send();
任何想法将不胜感激!
最佳答案
你可以尝试这样的事情:
var xhr = new XMLHttpRequest();
xhr.open("GET","http://www.example.com/testpage.html");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var html = xhr.responseText;
var parser = new DOMParser();
var dom = parser.parseFromString(html, 'text/html');
var scripts = dom.querySelectorAll('script');
for (let script of scripts) {
eval(script.innerText);
}
console.log('foo', foo);
console.log('bar', bar);
}
}
xhr.send();
关于javascript - 访问通过 xhr 请求获取的 HTML 源中所有脚本标签中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53835929/