zoukankan      html  css  js  c++  java
  • 弹出窗口showModalDialog用法

    父页面弹出一个显示HTML内容的模态对话框:

    父页面:var ret = window.showModalDialog(url[, args][, features]);

    子页面:

    接收参数:var arg = window.dialogArguments;

    返回参数:window.returnValue = staff;

    1、当子页面关闭时,父页面ret才能得到值,即ret = staff。如果返回的值是一个数组,则在父页面中,使用ret.each(function(item){});时JS出错:can't execute code from a freed script.必须使用原始的for循环,原因可能是由于JavaScript此时传的是引用,数组此时在内存中还在子页面中(待查JavaScript中变量在内存的存储情况与prototype中数组的each实现)。

    2、子页面中的链接不弹出新窗口或form提交后返回本窗口,在子页面的head中加上:<base target="_self" />

    3、数组声明:

    var arr = new Array(); 此种方式在IE8下调试时数组带有length属性。

    var arr = [];此种方式在IE8下调试时不带length属性。

    附加:测试时父页面调用ret.each()出错与上面不符:Object doesn't support this property or methd,这是由于子页面没有引入prototype.js,所以声明的数组只是JavaScript原生数组,只带有原生的方法或属性,传到父页面后也能用原生方法而不能用prototype追加的方法。

  • 相关阅读:
    6章-项目进度管理-day5
    常规正则表达式
    axios删除接口
    elk
    英语笔记
    升级打怪
    用computed实现watch的保持子组件与父组件值同步
    vertical-align不生效的问题
    css居右
    使用maven创建spring工程出现配置文件打不开/不存在的错误
  • 原文地址:https://www.cnblogs.com/helife/p/1909926.html
Copyright © 2011-2022 走看看