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追加的方法。

  • 相关阅读:
    plsql记住登录密码
    java之通过反射,来获得某对象的所有方法(类方法提取器)
    java之RTTI和反射的理解
    Thinking in java之正则表达式小例子
    java正则表达式之java小爬虫
    【ACM】Binary String Matching
    PHP var_export
    PHP FPM
    【ACM】阶乘之和
    【ACM】最少乘法次数
  • 原文地址:https://www.cnblogs.com/helife/p/1909926.html
Copyright © 2011-2022 走看看