我希望在嵌入页面完全加载后从iframe发送发布消息。如何从iframe内部检测情况?
我已经尝试将eventListener用于“ DOMContentLoaded”
document.addEventListener("DOMContentLoaded", postMessageFunctionCall);
但是它不响应来自父级的事件。 是否有可能从iframe内部对此事件做出反应?
答案 0 :(得分:0)
如果页面和iframe来自同一来源,则可以通过parent
挂接事件:
parent.document.addEventListener("DOMContentLoaded", postMessageFunctionCall);
但是,这将无法跨域使用。
由于设置了竞争条件,因此您可能需要先检查文档的readyState
:
if (parent.document.readyState !== "loading") {
postMessageFunctionCall();
} else {
parent.document.addEventListener("DOMContentLoaded", postMessageFunctionCall);
}