asp.net – 移动ModalPopup在IFrame之外 可能?

前端之家收集整理的这篇文章主要介绍了asp.net – 移动ModalPopup在IFrame之外 可能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的主页里面有一个iframe iframe页面中有一个模式。所以当显示modalpopup时,modalpopup的父项是iframe主体和主页父体。因此,覆盖只覆盖了iframe而不是整个页面

我尝试使用jQuery将modalpopup从iframe移动到父窗体body元素(或父体内的任何其他元素)。我得到一个无效的参数错误

如何从iframe中的页面显示一个模式,并且它应该覆盖整个文档,父文档?

更新:

因为很少有用户对实现相同的行为感兴趣。这里是解决方法

我建议的最好的解决方法是在主页面添加模态文件,然后从iframe中调用它。说这样的东西..

/* function in the main(parent) page */
var _onMyModalPopupHide = null;
function pageLoad(){
    // would be called by ScriptManager when page loads
    // add the callback that will be called when the modalpopup is closed
    $find('MyModalPopupBehaviorID').add_hidden(onMyModalPopupHide);
}
// will be invoked from the iframe to show the popup
function ShowMyModalPopup(callback) {
    _onMyModalPopupHide = callback;
    $find('MyModalPopupBehaviorID').show();
}
/* this function would be called when the modal popup is closed */
function onMyModalPopupHide(){
    if (typeof(_onMyModalPopupHide) === "function") {
        // fire the callback function
        _onMyModalPopupHide.call(this);
    }
}

/* functions in the page loaded in the iframe */
function ShowPopup(){
    if(typeof(window.parent.ShowMyModalPopup) === "function") {
        window.parent.ShowMyModalPopup.apply(this,[OnPopupClosed]);
    }
}
// will be invoked from the parent page .. after the popup is closed
function OnPopupClosed(){
    // do something after the modal popup is closed
}

希望它有帮助

解决方法

如果您只是使用iframe进行可滚动的内容,那么您可能会认为具有溢出的风格的div:auto或scroll。

这样的设置使得更容易修改整个页面的外观,因为您不使用每个本质上在页面内部具有自己的窗口空间的多个文档。您可以绕过一些跨框架通信,如果需要这样做,可能会更容易保持信息同步。

这可能不适用于所有情况,可能需要ajax(或使用javascript修改dom)来更改div内容,而不是仅在iframe中加载其他文档。此外,一些较旧的移动浏览器,如Android Froyo构建,不能很好地处理可滚动的div。

原文链接:https://www.f2er.com/aspnet/252485.html

猜你在找的asp.Net相关文章