Javascript 如果iframe内容发生更改,如何在加载后显示所有iframe内容?
我正在为一家公司做一些东西,他们让我做一个iframe,在调整大小(仅高度)时,调整身体大小以看到完整的iframe iframe包含一个表单,在您完成它之后,iframe会为自己添加一个表单的简历、一个图像 我已经尝试过使用DOM和jQuery制作onclick、onchange和onresize事件,更改iframe和包含它的div的高度,更改iframe和body/document的高度,使用setInterval将iframe的高度添加到body height中。。。我不能使用第三方图书馆,这是公司的决定 HTML:Javascript 如果iframe内容发生更改,如何在加载后显示所有iframe内容?,javascript,iframe,Javascript,Iframe,我正在为一家公司做一些东西,他们让我做一个iframe,在调整大小(仅高度)时,调整身体大小以看到完整的iframe iframe包含一个表单,在您完成它之后,iframe会为自己添加一个表单的简历、一个图像 我已经尝试过使用DOM和jQuery制作onclick、onchange和onresize事件,更改iframe和包含它的div的高度,更改iframe和body/document的高度,使用setInterval将iframe的高度添加到body height中。。。我不能使用第三方图书
实际上,当文档加载iframe高度改变时,onload函数起作用,但是当iframe改变时,身体高度不一样。
postMessage
和窗口的eventListener
,我使用它们在iFrame和主页之间进行通信,因此您现在所需做的就是在iFrame内部传递值
const payload = 'updateHeight'
targetWindow.postMessage(message, targetOrigin, payload)
并在主屏幕中添加一个eventListener
window.eventListener('message', (event)=> {
if(event.data === 'updateHeight') {
// change the height here by calling `changeIframeSize()`
}
})
这是邮递邮件的地址
其他信息:如果将来您想要回调,或者想要在iFrame外部或内部传递函数,这对我帮助很大。在iFrame的正上方进行其他div。改变那个div的高度,使iframe的高度为100%。 我想这对你有帮助。否则,您可以创建一个自定义javascript和jquery来轻松地创建该部分
const payload = 'updateHeight'
targetWindow.postMessage(message, targetOrigin, payload)
window.eventListener('message', (event)=> {
if(event.data === 'updateHeight') {
// change the height here by calling `changeIframeSize()`
}
})