`
zhanggenzhong
  • 浏览: 25603 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javaScript打开对话框

阅读更多

      在javaScript中我们可以通过window.open来打开新的网页,但有时被浏览器拦截住,带来一些不必要的麻烦。今天我在开

发中就遇到类似的情况,后来我是采用打开对话框的方法得以解决。代码如下:

js 代码
  1. function openDialog(url){   
  2.           
  3.          var p = document.getElementById("p");   
  4.            //代表对话框要返回值的对象 
  5.          var config = 'dialogWidth:250px;dialogHeight:300px;';   
  6.          config+='dialogTop:'+p.clientTop+';dialogLeft:'+p.clientLeft+';';   
  7.          config+='center:no;help:no;resizable:no;status:no';  
  8.            // 对话框的窗体属性 
  9.          showModalDialog(url,p,config);   
  10.                
  11.     }  
注:记录本人在开发中遇到的问题,与大家一起交流,如果有的好的解决方法,请指导一下,谢谢!
分享到:
评论
3 楼 birdjavaeye 2007-08-16  
可以用
<a href="url" target="_blank" onclick="...">
在onclick中做弹出窗口前的工作
这样弹出窗口是由用户点击来驱动的,不会被浏览器禁止

用户没有点击就弹出窗口,类似广告行为,会被越来越多的用户反感
如果确实要提示什么,用层,不用弹出窗口
2 楼 hax 2007-08-15  
我写的版本。在ff,ie,opera上测试过。

用法:
showDialog(url, {a:1, b:2}, {width:'300px', height:'200px', dependent:true});

dependent表示关联窗口,即modeless dialog
在打开的dialog窗口里有 dialogArguments.a == 1

这个方法不支持modal dialog,因为ff下modal是需要本地权限的。

	function showDialog(url, args, features) {
		if (!features) features = {};
		if (!args) args = {};
		args.opener = window;
		var dialog;
		if (features.dependent && 'showModelessDialog' in window) {
			if (features.resizable == null) features.resizable = 1;
			if (features.status == null) features.status = 0;
			var f = [];
			if (features.width) f.push('dialogWidth:' + features.width);
			if (features.height) f.push('dialogHeight:' + features.height);
			if (features.top) f.push('dialogTop:' + features.top);
			if (features.left) f.push('dialogLeft:' + features.left);
			for (var key in features) {
				if (features.hasOwnProperty(key))
					f.push(key + ':' + features[key]);
			}
			dialog = window.showModelessDialog(url, args, f.join(';'));
			dialog.moveBy = function (x, y) {
				if (x) this.dialogLeft = parseInt(this.dialogLeft) + x + 'px';
				if (y) this.dialogTop = parseInt(this.dialogTop) + y + 'px';
			}
			dialog.resizeBy = function (x, y) {
				if (x) this.dialogWidth = parseInt(this.dialogWidth) + x + 'px';
				if (y) this.dialogHeight = parseInt(this.dialogHeight) + y + 'px';
			}
			dialog.opener = window;
		} else {
			var f = [];
			for (var key in features) {
				if (features.hasOwnProperty(key))
					f.push(key + '=' + features[key]);
			}
			dialog = window.open(url, 'dialog', f.join(','));
			dialog.dialogArguments = args;
		}
		return dialog;
	}
1 楼 cowskin 2007-08-15  
还是得结合着用,showModalDialog在firefox浏览器里是不支持的!

相关推荐

    javascript打开选择对话框保存对话框.zip

    在浏览器中虽然打开选择对话框和保存文件对话框的功能并不常使用,但有时仍然会用得上,比如一个web版的播放器,让用户选择本地的视频或音频文件等。对于打开选择文件对话框来说,相对比较简单,只需要在页面内放一...

    打开文件夹对话框打开文件夹对话框.

    在计算机编程和用户界面设计中,"打开文件夹对话框"是至关重要的一个元素,它允许用户在应用程序中选择特定的文件夹。这个对话框通常由操作系统提供,并且可以被各种编程语言调用,以便在需要用户指定路径或选择工作...

    javascript网页对话框.docx

    本文将深入探讨JavaScript中用于创建对话框的两种主要方法:`window.open`和`showModalDialog()`、`showModelessDialog()`。 首先,我们来看`window.open`函数。这个函数用于在新的浏览器窗口中打开一个页面,其...

    javascript网页对话框.pdf

    2. `showModelessDialog`则创建非模态对话框,用户可以在对话框打开的同时操作父窗口。其语法和`showModalDialog`类似,但用户可以自由地在对话框和父窗口之间切换。非模态对话框通常不会自动关闭,除非明确调用`...

    常用的Javascript对话框控件

    使用时,需要引入Materialize CSS和JS,然后通过`.open()`方法打开对话框: ```javascript document.getElementById('myDialog').open(); ``` 5. **Bootbox.js** Bootbox.js是一个小型库,它扩展了原生的...

    javascript经典特效---Web页打开对话框.rar

    在JavaScript的世界里,"Web页打开对话框"是一种常见的用户交互功能,用于向用户展示信息、获取输入或者执行一些操作前的确认。本资源“javascript经典特效---Web页打开对话框.rar”似乎聚焦于如何利用JavaScript来...

    javascript模态对话框

    4. **禁用缓存**:在HTML头部设置`&lt;meta&gt;`标签可以防止浏览器缓存页面,确保每次打开模态对话框时都获取最新的内容。例如: ```html , no-store, must-revalidate"&gt; ``` 以上就是使用JavaScript实现模态...

    javascript弹出对话框总结

    ### JavaScript弹出对话框知识点详解 #### 一、`window.open()` 方法 `window.open()` 是JavaScript中最常见的打开新窗口的方法。此方法接受三个参数: 1. **URL**:要加载到新窗口中的文档的URL地址。 2. **...

    javascript web对话框与弹出窗口

    ### JavaScript Web对话框与弹出窗口 在Web开发中,JavaScript是一种非常强大的工具,它能够帮助开发者实现多种交互效果,其中对话框与弹出窗口是常见的功能之一。这些功能不仅能够提升用户体验,还能够让开发者更...

    asp.net 打开对话框源码

    在这个例子中,`RegisterStartupScript`方法用于在页面加载后执行客户端JavaScript,打开对话框。 "Example071-打开对话框"可能是一个包含上述示例代码的项目文件,你可以下载并学习其中的实现方式。在实际开发中,...

    高兼容的javascript对话框组件 Vista风格

    3. **JavaScript事件处理**:为了实现交互功能,如打开、关闭对话框,需要监听用户的点击事件,这涉及到了DOM事件和事件监听器。确保在IE8及以上版本的浏览器中都能正确工作。 4. **动画效果**:Vista风格可能包含...

    JS打开模式对话框

    JavaScript(简称JS)是一种广泛用于客户端Web开发的脚本语言,它可以实现动态交互的效果,而JS打开模式对话框则是提供了一种与用户交互的方式。在本文中,我们将深入探讨两种主要的JS对话框方法:`showModalDialog...

    javascript的对话框详解与参数

    JavaScript 对话框详解与参数 JavaScript 对话框是网页开发中常用的 UI 组件,用于与用户交互,获取用户输入或显示信息。本文将详细介绍 JavaScript 对话框的分类、参数设置、使用方法和注意事项。 一、对话框的...

    JS打开图片另存为对话框实现代码

    在上述提供的代码段中,主要涉及到了如何使用JavaScript打开浏览器的另存为对话框,以实现图片下载的功能。 首先,需要注意的是,为了确保页面的正常工作,需要在`&lt;head&gt;`部分引入jQuery库,这是因为代码中使用了...

    利用JavaScript创建模态非模态对话框

    而非模态对话框(Non-Modal Dialog)则允许用户在对话框打开的同时,继续与页面的其他部分进行互动。 创建模态对话框,我们可以使用HTML和CSS构建对话框的基本结构,然后通过JavaScript来控制它的显示和隐藏。以下...

    easyui的api文档,chm版的,方便查找

    然后使用JavaScript打开对话框: ```javascript $(function(){ $('#dlg').dialog({ title: '我的对话框', closable: true, modal: true, buttons: [{ text: '确定', iconCls: 'icon-ok', handler: function...

    JS可拖动窗口控件,可实现各种DIV窗口自定义及各种DIV弹出提示框 带遮罩层的DIV窗口/对话框控件 js javascript 对话框

    它们通常包括标题、内容区域、按钮等组件,可以通过JavaScript进行打开、关闭、显示和隐藏等操作。此资源中的对话框控件2.0可能包含了更完善的API,支持更多的自定义选项和交互效果。 JavaScript(JS)和JavaScript...

    javascript 页面刷新和模态对话框 学习总结 推荐哦

    当使用`window.showModalDialog()`函数打开模态对话框时,可以通过以下方式刷新父页面: - **语法**: `window.parent.dialogArguments.document.execCommand('Refresh');` - **示例**: ```javascript // 父页面...

    EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法

    在使用EasyUI开发Web应用程序时,经常会遇到在打开对话框后对控件进行赋值,但有时会发现赋值操作并没有如预期那样显示出来。这个问题主要是由于EasyUI对话框内部控件的工作机制导致的,尤其是当涉及到`textbox`这类...

Global site tag (gtag.js) - Google Analytics