在iframe中使bootstrap的模态框在父页面弹出问题


Posted in Javascript onAugust 07, 2017

这几天在写项目的中,页面使用了iframe,然而在子页面中使用bootstrap的模态框时发现:弹出的模态框位置是以子页面为标准居中的,并且遮罩层也只有子页面那一部分,整个页面简直无法直视,所以思考可以可以让模态框以父页面为标准弹出,经过在网上查找资料,总结了一种解决方法。

效果展示

修改前页面

在iframe中使bootstrap的模态框在父页面弹出问题

修改后页面

在iframe中使bootstrap的模态框在父页面弹出问题

实现思路

要想使模态框在顶级页面打开,我想到的方法是使bootstrap的模态框弹在父页面弹出即可。

首先我们将需要弹出的div单独写一个页面,当子页面需要弹出时,在父页面弹出div即可。

将模态框单独写为一个页面

主页面

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
        </div>
      </div>
    </div>
  </body>
  <script>
      $("#ajax").modal({
        remote: "./model.html"
      });
  </script>
</html>

模态框页面

<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
    <h4 class="modal-title" id="myModalLabel">Modal title</h4>
  </div>
  <div class="modal-body">
    这是模态框
  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-primary">保存</button>
    <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  </div>
</div>

这样就可以将模态框的div单独写为一个页面

修改主页面,加入子页面

修改后主页面

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <table width="100%" height="720px" border="1">
      <tr>
        <td>
          <iframe id="iframe1" name="iframe1" src="iframe1.html" width="100%" height="100%"></iframe>
        </td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td>
          <iframe name="iframe2" src="iframe2.html" width="100%" height="100%"></iframe>
        </td>
      </tr>
    </table>
    <input type="text" id="textId" value="234" />
    <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
        </div>
      </div>
    </div>
  </body>
  <script>
    function modalOut(url) {
      $("#ajax").modal({
        remote: url;
      });
    }
  </script>
</html>

这样主页面就有2个子页面,并且将弹出模态框的方法封装至modalOut(url)方法中

子页面弹出模态框

当子页面需要弹出模态框时,加载父页面中的modalOut(url)方法即可:

子页面js如下

var _iframe = window.parent;
_iframe.modalOut('xxx.html');

以上就是解决子页面中弹出模态框无法覆盖全部页面的解决办法,

注意:所以html中未加载js,请自行加载bootstrap相关的js。

总结

以上所述是小编给大家介绍的在iframe中使bootstrap的模态框在父页面弹出问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Notify - 基于jquery的消息通知插件
Oct 18 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
Nov 30 Javascript
瀑布流布局并自动加载实现代码
Mar 12 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
js 中将多个逗号替换为一个逗号的代码
Jun 07 Javascript
不到30行JS代码实现Excel表格的方法
Nov 15 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
原生js实现回复评论功能
Jan 18 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 Javascript
小程序封装路由文件和路由方法(5种全解析)
May 26 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
Jan 07 Javascript
JS判断微信扫码的方法
Aug 07 #Javascript
AngularJs每天学习之总体介绍
Aug 07 #Javascript
关于webpack2和模块打包的新手指南(小结)
Aug 07 #Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 #Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 #Javascript
bootstrap Table插件使用demo
Aug 07 #Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 #Javascript
You might like
PHP 中的一些经验积累
2006/10/09 PHP
自己动手做一个SQL解释器
2006/10/09 PHP
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
JQuery中$之选择器用法介绍
2011/04/05 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
Django在win10下的安装并创建工程
2017/11/20 Python
Python编写一个优美的下载器
2018/04/15 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
后进生评语大全
2015/01/04 职场文书
经济纠纷起诉状
2015/05/20 职场文书
生产车间管理制度
2015/08/04 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
python lambda 表达式形式分析
2022/04/03 Python
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android