【发布时间】:2021-06-30 20:25:14
【问题描述】:
提取document.body.innerText
我目前正在开展一个项目,旨在改善残疾儿童的网络可访问性。但是,我最近在尝试从 XMLHttpRequest 响应中检索 document.body.innerText 属性时遇到了一个巨大的障碍。
XMLHttpRequest (responseXML.body.innerText) 的结果与直接从浏览器控制台中调用 document.body.innerText 的结果不同。
使用 XMLHttpRequest
这是相关代码示例,目前在我的 Chrome 浏览器扩展程序(Chrome Canary v91.0.4466.0, x86_64)上运行
if (!window.XMLHttpRequest) return;
// Create new request
var xhr = new XMLHttpRequest();
// Setup callback
xhr.onload = function () {
console.log(this.responseXML.body.innerText));
}
// Get the HTML
xhr.open('GET', searchResultURL);
xhr.responseType = 'document';
xhr.send();
在 StackOverFlow 的 Twitter page 上运行上述代码时,您会看到 this.responseXML.body.innerText 的值包含 CSS。
身体{ -ms-overflow-style:滚动条; 溢出-y:滚动; 过度滚动行为-y:无; }
.errorContainer { background-color: #FFF; color: #0F1419; max-width: 600px; margin: 0 auto; padding: 10%; font-family: Helvetica, sans-serif; font-size: 16px; } .errorButton { margin: 3em 0; } .errorButton a { background: #1DA1F2; border-radius: 2.5em; color: white; padding: 1em 2em; text-decoration: none; } ...
从浏览器控制台
当您在浏览器控制台中检索document.body.innerText 属性时,您将看到以下值:
"要查看键盘快捷键,请按问号 查看键盘快捷键 家 探索 通知 留言 轮廓 更多的 鸣叫 塞缪尔·艾略特·内森森 @内森森艾略特 堆栈溢出 3,014 条推文 查看新推文 跟随 堆栈溢出 @堆栈溢出 通过为开发人员和所有技术人员服务来帮助编写未来的脚本。 纽约,NYstackoverflow.com2010 年 4 月加入 14 关注 115.1K 追随者 没有被您关注的任何人关注 推文 推文和回复 媒体 喜欢 Stack Overflow 的推文 你可能会喜欢 freeCodeCamp.org @freeCodeCamp 跟随 开发者社区 @ThePracticalDev 跟随 展示更多 现在趋势 发生了什么 美国职业棒球大联盟 · 居住 红袜队的金莺队 红袜队的趋势,加勒特理查兹 政治 · 趋势 他还活着 38.7K 条推文 美国职业棒球大联盟 · 趋势 塞德里克·穆林斯 新冠肺炎 · 居住 COVID-19:马里兰州的新闻和更新 超级联赛 · 居住 曼联 VS 布莱顿 与#MUNBHA、#MUFC 一起流行 展示更多 服务条款 隐私政策 Cookie 政策 广告信息 更多的 © 2021 Twitter, Inc."
为什么这两种检索innerText的方法不同?
这还不清楚,所以如果有更多知识的人提供帮助会很棒。
【问题讨论】:
标签: javascript html dom xmlhttprequest innertext