我正在通过iframe在网站上加载HTML。被加载的HTML应该在父文档完成加载后才等待加载某些内容(document.readyState == 'interactive' || document.readyState == 'complete'
)。问题是,HTML内容是手动加载到iframe中的,而这个操作是在父文档完成加载之后进行的。
有没有办法欺骗父文档的readyState以验证加载的HTML内容没有过早地呈现?
我正在通过iframe在网站上加载HTML。被加载的HTML应该在父文档完成加载后才等待加载某些内容(document.readyState == 'interactive' || document.readyState == 'complete'
)。问题是,HTML内容是手动加载到iframe中的,而这个操作是在父文档完成加载之后进行的。
有没有办法欺骗父文档的readyState以验证加载的HTML内容没有过早地呈现?
文档对象模型
和Javascript
。
DOM
是存储显示此页面的查看器所需信息的浏览器状态。
Javascript
是用于查询/操作状态(读取DOM
)的工具。
DOM
会通知Javascript状态更改,这只是单向的,因为该属性是只读的。简短回答你的问题是“不”,你不能使用Javascript更改readyState属性。typeof document.readyState // "String"
document.readyState // "complete"
document.readyState = "hello world" // "hello world"
document.readyState // if you expected it to show "hello world" it still shows "complete"
let readyState = 'loading';
Object.defineProperty(document, 'readyState', {
get() { return readyState },
set(value) { return readyState = value },
});
console.log(document.readyState);
document.readyState = 'interactive';
console.log(document.readyState);
document.readyState = 'complete';
console.log(document.readyState);