javascript - 访问通过 xhr 请求获取的 HTML 源中所有脚本标签中的变量

标签 javascript html json ajax xmlhttprequest

如何从通过 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/

相关文章:

javascript - 尝试从本地主机获取 json 文件的数据时如何解决 CORS Origin 问题

javascript - 多个ul逆序

php - 访问同一页面 HTML 中的 PHP 变量

php - 如何将 mysqli 结果转换为 JSON?

javascript - 在逗号分隔值的文本中捕获逗号

javascript - 计算 <p> 中没有 id 或类的 <img>

javascript - 根据箭头更改多个 div

javascript - jQuery Draggable 在拖动后应用多次点击

ios - NSDate 根据时区字符串变化

python - 在 Python 中正确引用 JSON。字符串与整数和嵌套项