gpt4 book ai didi

javascript - 尝试让一个 iframe 在另一个 iframe 之前加载

转载 作者:行者123 更新时间:2023-12-03 07:48:46 24 4
gpt4 key购买 nike

使用来自任何人的最新工具包升级旧的 .net 项目(12 年)。整个想法是让这个项目在最新的 ie 浏览器中运行,而不必使用兼容模式。

我的最新问题是 window.showModalDialog 不再使用,我必须使用 Jquery 模式对话框。到目前为止,一切都很好。问题就在这里。 popup.aspx 有一个框架集。我将其更改为 Iframe...好一点,但问题在于。第一个框架是动态 pagemenu.html,它是通过在第二个 iframe(内容框架)中执行的 javascript 代码创建的。

无论我做什么,pagemenu.html都会先显示,然后才能显示内容iframe并调用代码来创建菜单栏。所以菜单栏没有填充。

此代码位于 .js 文件中,内容页面调用该文件来加载弹出窗口。可以看到原来的opendialog被注释掉了。

function popUpLarge(URL) {
window.TimerID = timerID; // Enables the popuP dialog disable the parent windows timer.
window.RefreshFunctionPointer = RefreshSessionTimer; // Enables the popuP dialog enable the parent windows timer.
//var setDirty = window.showModalDialog(URL, window, "resizable:1;dialogWidth:775px;dialogHeight:575px;center:1;dialogHide:1;edge:sunken;status:0;unadorned:1;help:0");
$(document).ready(function() {
$("#dialog").empty();
$("#dialog").append($("<iframe id='popup' width='770' height='520'/>").attr("src", URL))
.dialog({
autoOpen: false,
position: { my: 'left', at:'left'},
draggable: true,
width : 775,
height : 525,
modal : true
});
$( "#dialog" ).dialog( "open" );
});

此代码最终填充 PopupContent.aspx,如下所示。

<body><form>
<iframe id="PageMenuFrame" width="100%" height="20" src="<%= this._PageMenu %>" scrolling="no" frameborder="1"></iframe><br />
<iframe id="PageContentFrame" width="100%" height="90%" src="<%= this._ContentUrl %>" scrolling="auto" frameborder="0"></iframe>
</body> </form>

所以结果是弹出窗口看起来像这样......顺便说一句,当我试图弄清楚这一点时,关闭按钮暂时存在。 enter image description here

我在 MenuPage.html 应该在的位置放置了边框...我尝试从 Page_Load 加载 ContentUrl 并从 Page_PreRender 加载 PageMenu.html ...相同的结果。我也尝试了很多我在这里找到的东西,但没有一个能接近。

有什么建议吗?感谢您的帮助。

保罗

最佳答案

您始终可以向父框架抛出 postMessage,并在第一帧之后加载第二帧。

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

所以工作流程是

  1. 容器页面加载
  2. 在第一个 iframe 上设置 url
  3. 第一个 iframe 向容器发送 postMessage
  4. 容器在第二帧上设置 url

关于javascript - 尝试让一个 iframe 在另一个 iframe 之前加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35092442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com