我的主页里面有一个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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。