`
Aubergine_kang
  • 浏览: 264845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

有关showModalDialog和window.open(转载)

 
阅读更多

有关showModalDialog和window.open

(2007-07-05 14:17:05)
<script></script>标签:

window.open

模式窗口

分类: Study ing
<!-- 正文开始 -->
 菜鸟学习1  Javascript
原本以为这俩差不多,但是要是一样,人家干吗非弄俩啊?终于还是实践是检验真理的唯一标准,小经验分享一下。
一。。window.open
oNewWindow = window.open( [sURL] [, sName] [, sFeatures] [, bReplace]) 
1。sURL :新打开窗口的url地址,如果没有则默认打开一个空白页。 
2。sName:参数表:_blank 打开的窗口将在一个新的窗口中打开。 
 _media 打开的地址将在Media工具栏中打开 
 _parent将在当前页的父页面打开,如果当前也没有父页面,则在默认为_self. _search 此属性在微软5.0浏览器以上版本中的搜索兰中打开。  
 _self 将在本页面打开。
_top 将代替所有的Framesets,如果没有framesets,默认为_self。 
 
3。sFeatures

参数 | 取值范围 | 说明

alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上
depended | yes/no | 是否和父窗口同时关闭
directories | yes/no | Nav2和3的目录栏是否可见
height | pixel value | 窗口高度
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键
innerHeight | pixel value | 窗口中文档的像素高度
innerWidth | pixel value | 窗口中文档的像素宽度
location | yes/no | 位置栏是否可见
menubar | yes/no | 菜单栏是否可见
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度
resizable | yes/no | 窗口大小是否可调整
screenX | pixel value | 窗口距屏幕左边界的像素长度
screenY | pixel value | 窗口距屏幕上边界的像素长度
scrollbars | yes/no | 窗口是否可有滚动栏
titlebar | yes/no | 窗口题目栏是否可见
toolbar | yes/no | 窗口工具栏是否可见
Width | pixel value | 窗口的像素宽度
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上

 

4。bReplac
此属性运用在新打开的url地址在本窗口。

true:url代替当前文档在历史的列表中。

false:在历史列表中创建一个新的输入。

二。showModalDialog

有关用showModalDialog打开一个窗口,跟window.open 大同小异,举个例子,一幕了然。
.window.showModalDialog("DialogPage.aspx","newwin","dialogHeight: 200px; dialogWidth: 150px; dialogTop: 458px; dialogLeft: 166px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;");


三。区别
用window.open打开新的窗口,父窗口可以被随时激活,但是用showModalDialog打开的新窗口,必须对其进行了处理,父窗口才能被继续使用。二者都可以用returnValue设置在父窗口得到子窗口的返回值。
四。注意!!!

1。showModalDialog对某些javascrite事件进行了禁用。
我只遇到过超链接中的href是不支持的,但是window.open就绝对没有问题。
2。用aspx页面在showmodeldialog情况下会打开一个新的窗口,解决如下:打开的页面中在<head></head>之间加入三行:<base target="_self">

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache,must-revalidate">

3。使用F5刷新页面

<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="<%=Request.Url%>" style="display:none"></a>

4。突然还发现一些通过showModalDialog传值的方法,比window.open 要好,不过没有试过:

父页面:<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="<%=Request.Url%>" style="display:none"></a>

window.showModalDialog(url,aInfo,sFeatures);

子页面:<script language="JavaScript">
<!--
//获取父窗口传来的对象(本例中就是父页面中的“oInfo”数组对象,也可用“window”对象,以便对父页面进行操作。总之,只要是object类型就成。)
var args = window.dialogArguments;
if(args!=null){
 //document.write(args);
 for(var i=0;i<args.length;i++){
  document.writeln(args[i]+" "+(i+1)*10);
 }
}else{
 document.writeln("对不起,参数为空");
}

分享到:
评论
1 楼 wzf7065 2012-12-24  
我的需求是点击按钮打开一个新的页面,操作showModalDialog不行,正好看见了楼主的文章,真是雪中送炭 ,我用window.open()把问题解决了,感谢楼主的分享!

相关推荐

    window.showModalDialog以及window.open用法简介

    Window.showModalDialog 和 Window.open 用法简介 Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window....

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

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

    ShowModalDialog与window.open的区别

    JavaScript 提供了两种常用的方法来创建这类窗口:`ShowModalDialog` 和 `window.open`。这两种方法各有特点,在不同的场景下具有不同的适用性。 #### 二、ShowModalDialog详解 **1. 功能介绍** `ShowModalDialog...

    父子窗口传值window.showModalDialog以及window.open用法简介

    window.showModalDialog以及window.open用法简介

    showModalDialog和window.open

    ### showModalDialog和window.open在Web开发中的应用与区别 在Web开发中,`showModalDialog`和`window.open`是两种用于打开新窗口或对话框的方法,但它们各自有着独特的特性和应用场景。以下是对这两种方法的详细...

    js的window.showModalDialog及window.open用法实例分析

    JavaScript中的`window.showModalDialog`和`window.open`都是用于打开新窗口的方法,但它们有着不同的特性和用途。 首先,`window.open`方法是JavaScript中最常见的打开新窗口的方式,它适用于所有的主流浏览器,如...

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    1&gt; window.showModalDialog()采用JS原理实现,同时父窗口不可操作,window.open()采用新创建一个窗口,同时父窗口可操作; 2&gt; 父窗口与子窗口传递值的方式也有所不同,在子窗口中操作父窗口也语法也不同,分别为var...

    Window.ShowModalDialog使用手册

    让我们深入探讨一下`Window.showModalDialog()`的详细用法和相关知识点。 首先,`showModalDialog()`方法的基本语法如下: ```javascript window.showModalDialog(url, [dialogArguments], [features]); ``` 1. *...

    window.showModalDialog(javascript)

    在其他浏览器中,如Firefox、Chrome和Safari,可能需要使用其他方法,如`window.open()`,配合CSS和JavaScript来实现类似的效果。 - 模态对话框可能会对用户体验造成影响,因为它会阻塞用户的交互,因此在现代Web...

    window.showModalDialog方法的使用

    下面我们将详细探讨`window.showModalDialog`的使用及其相关知识点。 首先,`window.showModalDialog`的基本语法如下: ```javascript var returnValue = window.showModalDialog(url, [dialogArguments], ...

    js实现window.open不被拦截的解决方法汇总

    文章中提到了几种实现 `window.open()` 方法不被浏览器拦截的解决方法,其中包括新建 `a` 标签模拟点击、使用 `window.showModalDialog()` 方法和使用 `setTimeout()` 与 `window.open()` 结合的方式。 1. 新建 `a`...

    JS控制弹出页面窗口控件(openWin)

    window.open()和window.showModalDialog(),并解决了showModalDialog()弹出窗口中列表分页的问题。 提供了三个JS方法: (1)showWindow(sURL, width, height); (2)showWindowInPage(pageUrl, params, title, ...

    'window.ShowModalDialog'在Chrome中不起作用

    描述中提到的解决方案是使用 `window.open()` 方法来替代 `showModalDialog()`. `window.open()` 可以创建一个新的浏览器窗口或者打开一个已经存在的窗口,并且可以设置新窗口的各种属性,如位置、大小、是否显示...

    window.open 函数的操作

    本篇内容详细介绍了 `window.open` 函数的基本用法及其在实际开发中的应用场景,同时探讨了如何从 `showModalDialog` 中获取数据对象的方法,以及 `request.getParameterMap()` 在处理 HTTP 请求参数时的具体使用。...

    window.showModalDialog('d.html',fault,'');

    总结来说,`window.showModalDialog` 是一个过时的 JavaScript 功能,用于弹出模态对话框,但现代 Web 开发已倾向于使用更灵活和兼容的解决方案。了解这一历史遗留功能有助于理解早期网页交互的设计思路,同时也提醒...

    showModalDialog和open方法demo实例

    在JavaScript中,`showModalDialog`和`window.open`是两个用于打开新窗口或对话框的方法,它们在网页交互和用户界面设计中扮演着重要角色。这篇文章将详细讲解这两个方法的功能、用法以及它们的区别。 首先,我们来...

Global site tag (gtag.js) - Google Analytics