Bootstrap 模态弹出框位于 Iframe 顶部
Bootstrap modal pop is going top of Iframe
我有一个包含 iframe 的应用程序,它在单击按钮时打开 bootstrap 模态弹出窗口,我面临的问题是弹出窗口粘在 iframe 容器的顶部,而不是相对于打开它的元素,当我将 iframe 应用程序作为独立打开时,模式弹出窗口工作正常。我正在使用
Iframe resizer
jquery 库也可以调整 Iframe 的大小。
我使用 windows.postMessage() 和 window.addEventListener() 功能修复了它,我使用以下代码计算了父应用程序的顶部偏移量和当前滚动位置:
window.addEventListener('scroll', function (event) {
var myIframe = document.querySelector('#wizardIframe');
var topOffset = myIframe.getBoundingClientRect().top + window.scrollY;
var currentScroll = document.scrollingElement.scrollTop;
myIframe.contentWindow.postMessage(topOffset + ':' + currentScroll, '*');
});
在 Iframe 应用程序中,使用下面的代码获取这些值,并使用它们将填充设置为模式弹出窗口,点击按钮打开它:
window.addEventListener('message', function (event) {
var messageContent = event.data.split(':');
var topOffset = messageContent[0];
var currentScroll = messageContent[1];
$('#topOffset').val(topOffset);
$('#currentScroll').val(currentScroll);
});
我有一个包含 iframe 的应用程序,它在单击按钮时打开 bootstrap 模态弹出窗口,我面临的问题是弹出窗口粘在 iframe 容器的顶部,而不是相对于打开它的元素,当我将 iframe 应用程序作为独立打开时,模式弹出窗口工作正常。我正在使用
Iframe resizer
jquery 库也可以调整 Iframe 的大小。
我使用 windows.postMessage() 和 window.addEventListener() 功能修复了它,我使用以下代码计算了父应用程序的顶部偏移量和当前滚动位置:
window.addEventListener('scroll', function (event) {
var myIframe = document.querySelector('#wizardIframe');
var topOffset = myIframe.getBoundingClientRect().top + window.scrollY;
var currentScroll = document.scrollingElement.scrollTop;
myIframe.contentWindow.postMessage(topOffset + ':' + currentScroll, '*');
});
在 Iframe 应用程序中,使用下面的代码获取这些值,并使用它们将填充设置为模式弹出窗口,点击按钮打开它:
window.addEventListener('message', function (event) {
var messageContent = event.data.split(':');
var topOffset = messageContent[0];
var currentScroll = messageContent[1];
$('#topOffset').val(topOffset);
$('#currentScroll').val(currentScroll);
});