所以基本上我要做的是打开一个带有本地文件位置的窗口(假设在同一目录中),并将该HTML文件的正文文本作为字符串存储到运行JavaScript的HTML页面中,然后关闭新窗口,好像它从未真正打开过,因此它所用的全部是它的文本。 JavaScript加载了正文。
function test(){
var x = document.getElementById("fill");
var w = window.open('../HTML/HtmlPlaceholder.html');
var cont = w.document.body.textContent;
x.innerHTML = cont;
}
但是当发生这种情况时,实际上没有任何内容进入x(id为“fill”的元素)。 我有什么想法吗?
答案 0 :(得分:1)
window.open
打开另一个窗口,它有自己的线程和事件,
你有两个选择
- 等待一段时间检查内容
试试这个
function test(){
var x = document.getElementById("fill");
var w = window.open('../HTML/HtmlPlaceholder.html');
setTimeout( function(){
var cont = w.document.body.textContent;
x.innerHTML = cont;
console.log (cont);
}, 2000);
}
- 或使用弹出窗口的window.onload事件
在HtmlPlaceholder.html
内放
window.onload = function(){
var x = window.opener.document.getElementById( "fill" );
x.innerHTML = document.body.innerHTML;
};