从外部HTML文档中获取文本
Get the text from an external HTML document
我的目标是从HTML文档中获取文本,该文档不调用.jsp
文件中的任何函数。
我环顾四周,以为我已经找到了问题的答案,但它似乎不起作用,其他答案包括使用jQuery(我既不熟悉也不允许使用)。
这是我迄今为止的代码:
function getText(divID) {
var w = window.open("test.html");
var body = w.document.body;
var div = document.getElementById(divID);
var textContent = body.textContent || body.innerText;
console.log(textContent);
//div.appendChild(document.createTextNode(textContent));
}
正如您所看到的,我正在尝试获取一个HTML文档的正文,并将其显示在另一个文档中。我走对了吗?
编辑:好的,所以我似乎把我的问题弄得很困惑。我调用了一个名为html.html
的HTML文档中的函数,但我想从test.html
中获取文本,然后将其显示在html.html
中。它必须是这样的,因为我不能假设我想从中读取的HTML文档会在其头部包含我的.jsp
文件。
目前我出现以下错误。
未捕获的类型错误:无法读取未定义的属性"body"
其他window
中的document.body
是undefined
的原因是因为其他window
尚未加载和呈现文档。
一种解决方案是等待onload
事件。
function getText(divID) {
var w = window.open("test.html");
w.addEventListener("load", function() {
var body = w.document.body;
var div = document.getElementById(divID);
var textContent = body.textContent || body.innerText;
console.log(textContent);
});
}
确保在用户事件(如单击)上运行getText
函数,否则window.open
将失败。
如果您只想获取另一个窗口的内容,那么使用AJAX可能是一个更好的选择。
function getText(divID) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 ) {
var body = xhr.response.body;
var div = document.getElementById(divID);
var textContent = body.textContent || body.innerText;
console.log(textContent);
}
};
xhr.open("GET", "test.html", true);
xhr.responseType = "document";
xhr.send();
}
相关文章:
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 从ajax请求中获取原始文本
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如果所选内容在标记内,如何获取格式化文本
- 如何使用 JQuery 从相对元素获取 html 文本
- Meteor:从Twilio获取SMS文本列表,并将它们插入mongoDB
- 使用 jQuery 从选择标签中抓取文本
- jQuery 获取原始文本(未转义),以便通过下划线模板进一步解析
- 使用 jQuery 从目标页面而不是当前页面获取元素文本
- 用javascript获取svg文本值
- 如何在按子字符串更改后获取旧文本
- JavaScript:获取搜索文本在正文上的滚动位置
- 从p:inputText javascript获取值文本
- AJAX/JS:是否可以在没有提交按钮和刷新页面的情况下获取输入文本的值
- 使用JQUERY/Javascript获取DotNetNuke文本编辑器HTML值
- 使用 casperjs 抓取文本节点的最快方法
- 在Oracle Apex的javascript部分中获取富文本编辑器的HTML文本
- 如何在PHP中获取html文本框值
- Chrome扩展程序获取DOM文本并在弹出窗口中显示.html然后单击按钮
- 如何使用 ajax 实时搜索获取脚本文本框中的搜索值