如何让iframe里弹出的层显示在整个网页上

  • 原创
  • |
  • 浏览:19772
  • |
  • 更新:

工作中遇到要在iframe里弹出div层显示在整个页面上面,这种情况我们可以通过在iframe页面添加js脚本,动态给父窗体创建一个div,然后设置让其显示在最顶层这样就可以了。

如何让iframe里弹出的层显示在整个网页上

方法/步骤

  1. 1

    在文件夹中创建两个文件,一个iframe页面,一个父页面index。

    如何让iframe里弹出的层显示在整个网页上
  2. 1
    本页面未经授权抓取自百度经验
  3. 2

    打开父页面index,里面引入iframe页面。

    如何让iframe里弹出的层显示在整个网页上
  4. 3

    打开iframe页面,里面添加一个按钮。

    如何让iframe里弹出的层显示在整个网页上
  5. 4

    在浏览器中打开index,页面是这样的,一个按钮在iframe中。

    如何让iframe里弹出的层显示在整个网页上
  6. 5

    现在我们对iframe做修改,在button上监听onclick调用“show”方法,通过show动态在父页面body中创建一个div层并显示出来,把这个层style中的position:absolute,z-index设置足够大就会显示在顶层。

    function show() {

             var showdiv=document.createElement('div');

             showdiv.setAttribute('id','topdiv');

             showdiv.setAttribute("style",'position:absolute;z-index:999;width:300px;height:300px;');

             var tt=document.createTextNode('我是iframe弹出层');

             window.parent.document.body.appendChild(showdiv).appendChild(tt);

    }

    如何让iframe里弹出的层显示在整个网页上
  7. 6

    现在我们在浏览器中再次打开index页面,点击iframe页面的中的按钮“弹出层”,就会弹出一个蓝色的div层,在父页面内容之上显示出来。

    如何让iframe里弹出的层显示在整个网页上
    END

注意事项

  • 在使用的时候对show方法做个判断是否已经创建,否则使用的时候每次点击都会创建一个相同的div。
  • 如果父窗口可以修改,其实也可以在父页面做个div层先隐藏,然后在iframe用js让其显示出来就好了。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部