`
protti
  • 浏览: 55705 次
  • 性别: Icon_minigender_2
  • 来自: 卡利姆多
最近访客 更多访客>>
社区版块
存档分类
最新评论

菜鸟日记之showModalDialog(项目实例)

阅读更多

项目中遇到的问题,当我修改一条记录,进入修改页面的时候,该页面是一个showModalDialog。

我点取消按钮需要刷新一下页面,试过了很多方法后,发现需要 <base target="_self">,这很重要,否则就可能出现我之前的结果,不刷新或弹出新showModalDialog...................。</base>

然后需要在脚本位置
reload...这个地方根据自己需要修改,这样就可以搞定showModalDialog刷新的问题了。

                                                  ----------------------菜鸟日记之showModalDialog刷新问题。

 

以下是网上找的资料,放上以做日后参考。

一、showModalDialog和showModelessDialog有什么不同?
  showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。
  showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)

二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上 <base target="_self">就可以了。这句话一般是放在和之间的。</base>

三、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码:


reload...

  将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合 <base target="_self">使用,不然你按下F5会弹出新窗口的。</base>

四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  
  也要配合 <base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。</base>

五、showModalDialog和showModelessDialog数据传递技巧。
  (作者语:本来想用一问一答形式来写的,但是我想不出这个怎么问,所以只好这样了。)
  这个东西比较麻烦,我改了好几次了不是没办法说明白(语文水平越来越差了),只好用个例子说明了。
  例子:
    现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name

      一般的传递方式:
        window.showModalDialog("filename.htm",var_name)
        //传递var_name变量
      在showModalDialog(或showModelessDialog)读取和设置时:
        alert(window.dialogArguments)//读取var_name变量
        window.dialogArguments="oyiboy"//设置var_name变量
    这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。
    
      以下是我建议使用的传递方式:
        window.showModalDialog("filename.htm",window)
        //不管要操作什么变量,只直传递主窗口的window对象
      在showModalDialog(或showModelessDialog)读取和设置时:
        alert(window.dialogArguments.var_name)//读取var_name变量
        window.dialogArguments.var_name="oyiboy"//设置var_name变量

        同时我也可以操作var_id变量
        alert(window.dialogArguments.var_id)//读取var_id变量
        window.dialogArguments.var_id="001"//设置var_id变量

        同样还可以对主窗口的任何对象进行操作,如form对象里的元素。
        window.dialogArguments.form1.index1.value="这是在设置index1元素的值"

六、多个showModelessDialog的相互操作。
  因为光说很费劲,我就偷点懒,直接用代码来说了,如果不明白的话那就直接来信(oyiboy#163.net(使用时请将#改成@))问我吧。

  以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。

  主文件的部份js代码。
  var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px") //打开控制窗口
  var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px")  //打开被控制窗口

  控制.htm的部份代码。
  <script>
    //操作位置数据,因为窗口的位置数据是"xxxpx"方式的,所以需要这样的一个特殊操作函数。
 function countNumber(A_strNumber,A_strWhatdo)
 {
  A_strNumber=A_strNumber.replace('px','')
  A_strNumber-=0
  switch(A_strWhatdo)
  {
  case "-":A_strNumber-=10;break;
  case "+":A_strNumber+=10;break;
  }
  return A_strNumber + "px"
 }
  </script>
  
  
  
  

  以上关键部份是:
    窗口命名方式:var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px")
    变量访问方式:window.dialogArguments.s2.dialogTop

  这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能,通过这个原理,在showModelessDialog之间相互控制各自的显示页面,传递变量和数据等。这要看各位的发挥了。

 

分享到:
评论

相关推荐

    showModalDialog和open方法demo实例

    在`DialogDemo`这个实例中,可能包含了使用`showModalDialog`方法创建对话框的代码和相关HTML、CSS和JavaScript文件,供开发者学习和参考。通过查看和运行这些示例,你可以更好地理解这两个方法的用法和效果。在实际...

    showModalDialog实例

    在这个实例中,它被用来实现一个网页的弹出窗口,通常用于数据输入或者确认操作等场景。以下是详细的说明: 1. **BackTap.jsp**:这是主页面,它调用了`showModalDialog`函数来打开一个新的窗口`Doback.jsp`。在`...

    showModalDialog技术文章

    总的来说,这篇文章对于理解和掌握`showModalDialog`这个已过时但仍有价值的API非常有帮助,特别是对于那些需要处理老项目或对浏览器历史API感兴趣的开发者。通过阅读和学习,我们可以了解到过去的技术是如何演进的...

    showModalDialog

    "showModalDialog"是JavaScript中的一个古老但仍然有用的弹出窗口方法,用于在浏览器环境中打开一个新的对话窗口。这个方法在Web开发中主要用于创建模态对话框,即那些阻止用户与页面其余部分交互直到对话框被关闭的...

    showModalDialog参数使用详解

    在JavaScript的世界里,`showModalDialog`是一个古老但仍然有用的函数,用于打开一个模态对话框,展示用户需要交互的信息。这个功能在处理用户输入、确认操作或展示详细信息时非常实用。本篇文章将深入探讨`...

    showModalDialog跨域解决例子

    4. **Window.postMessage()**:当`showModalDialog`打开的新窗口和父窗口在同一浏览器实例中时,可以利用`postMessage` API进行跨窗口通信。通过向新窗口发送消息,然后在新窗口中监听这些消息,实现跨域数据交换。 ...

    div层实现showModalDialog

    div层实现showModalDialog

    showModalDialog参数传递和获

    在JavaScript中,`showModalDialog`是一个古老的浏览器API,用于打开一个模态对话窗口,它在用户与对话框交互之前阻止了对父窗口的访问。这个API在现代Web开发中已经逐渐被淘汰,但由于某些老旧系统的存在,理解其...

    showModalDialog和showModelessDialog使用心得

    ### showModalDialog和showModelessDialog使用心得:深入解析与实践 在Web开发中,`showModalDialog` 和 `showModelessDialog` 是两种用于创建弹出窗口的方法,它们各自具有独特的特性和应用场景。本文将详细解析这...

    使用selenium测试showModalDialog模态对话框

    然而,对于某些特定的功能,比如 Internet Explorer 中的 `showModalDialog` 方法,Selenium 存在一定的局限性。`showModalDialog` 是一个古老的浏览器API,用于创建模态对话框,它会阻塞页面的JavaScript执行,直到...

    showModalDialog用法

    在JavaScript的世界里,`showModalDialog`是一个古老但仍然有用的函数,主要用于在...对于需要深入了解和使用`showModalDialog`的开发者来说,深入学习和实践相关知识,结合实际项目需求,将有助于做出合适的技术选择。

    google不支持window.showModalDialog问题解决方案

    This is a `window.showModalDialog()` shim using a modal HTML5 `&lt;dialog&gt;` element and ECMAScript 6 Generators. It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag ...

    解决window.showModalDialog跨域返回值

    在JavaScript中,`window.showModalDialog`是一个古老但仍然有用的函数,用于打开一个模态对话框,用户在对话框中进行交互,直到关闭对话框为止。然而,当涉及到跨域时,`showModalDialog`面临一个问题:它无法正确...

    showModalDialog参数详解

    showModalDialog参数详解 基本介绍: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog()...

    Window.ShowModalDialog使用手册

    在JavaScript编程语言中,`Window.showModalDialog()`方法是一个非常重要的功能,主要用于打开一个模态对话框,即用户必须关闭对话框才能与父窗口进行交互。这个方法在创建用户交互和自定义弹出窗口场景中非常有用。...

    解决三层或心上showModalDialog的问题_2

    解决三层或心上showModalDialog的问题_2

    showModalDialog 弹出窗口关闭不刷新父窗口最终实现了

    `showModalDialog` 是一个非常实用的功能,允许创建模态对话框(即用户必须与之交互才能继续使用页面其他部分的窗口)。然而,在某些情况下,我们可能希望在关闭弹出窗口后,不刷新父窗口(即打开弹出窗口的页面),...

    showModalDialog刷新窗口的例子

    在IT行业中,尤其是在Web开发领域,`showModalDialog`是一个重要的JavaScript函数,它用于打开一个模态对话框,即在用户与新窗口交互时,主窗口会被暂时禁用。这个功能在需要用户输入额外信息或者确认操作时非常有用...

    window.showModalDialog模式对话框和 window.open的区别

    `window.showModalDialog` 和 `window.open` 都是JavaScript提供的两种打开新窗口的方法,但它们在功能和使用场景上有着显著的区别。 首先,我们来详细探讨`window.showModalDialog`。`showModalDialog`方法用于...

Global site tag (gtag.js) - Google Analytics