`
zhanggenzhong
  • 浏览: 25094 次
  • 性别: 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经典特效---Web页打开对话框.rar

    Web页打开对话框.rarWeb页打开对话框.rarWeb页打开对话框.rarWeb页打开对话框.rarWeb页打开对话框.rarWeb页打开对话框.rar

    javascript的对话框详解与参数

    举例说明:打开文件对话框便是典型的模式对话框,在你选择好要打开的文件按下确定后,或者取消打开文件操作后,才可以在同一应用程序进行其他操作。而常见的查找和替换对话框便是无模式对话框的典型,在该对话框打开...

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

    使用JS打开图片另存为对话框一直都是网页应用中不可缺少的一部分,本人有些好奇,于是搜集整理了一些实现代码,不知道符不符合大众的口味,在此班门弄斧了,需要的朋友可以了解下

    利用javascript打开模态对话框(示例代码)

    本篇文章主要是对利用javascript打开模态对话框的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    网页上最酷的弹出窗口(对话框)脚本源代码及示例

    这是我所见过的最好看的网页窗口/对话框程序,它实现于标准的HTML页面,实现语言是...现有的实例包括:模仿MAC OS的对话框,在对话框中打开一个网页,警告框,确认对话框,信息对话框,登录对话框,AJAX对话框等等

    JavaScript实现控制打开文件另存为对话框的方法

    主要介绍了JavaScript实现控制打开文件另存为对话框的方法,实例分析了javascript实现文件另存为的技巧,非常具有实用价值,需要的朋友可以参考下

    javascript showModalDialog模态对话框使用说明

    使用javascript打开模态对话框,想学习showModalDialog使用方法的朋友可以参考下。

    js弹出保存对话框

    js弹出保存对话框

    js 模式窗口(模式对话框和非模式对话框)的使用介绍

    Javascript里面分模式对话框和非模式对话框,其实两者区别就是在对话框被关闭之前用户能否在同一页面的其他地方进行工作。比如“打开文件”对话框便是典型的模式对话框,在你对这个对话框做出动作才能对打开该对话框...

    JavaScript打开word文档的实现代码(c#)

    一.C#中打开word文档方法 代码如下: //在项目引用里添加上对Microsoft Word 11.0 object library的引用 private void button1_Click(object sender, System.EventArgs e) { //调用打开文件对话框获取要打开的文件...

    javascript网页特效实例大全(13-19)

    实例380 使用JavaScript脚本弹出对话框 628 实例381 打开新窗口显示详细信息 629 实例382 关闭弹出窗口刷新父窗口 631 实例383 弹出网页模式对话框 633 实例384 弹出全屏显示网页 635 17.2 其他 637 ...

    asp经典程序代码

    asp经典程序代码,显示数据库中所有字段的方法,Asp建立MYSQL数据库的连接,如何建立MYSQL数据库的连接?...在当前页对话框返回值,javascript的对话框,包含头文件,按钮直接提交到表单,大段内容传送……

    程序天下:JavaScript实例自学手册

    20.11 打开Internet选项对话框 20.12 打开Windows系统的画板 20.13 弹出保存对话框 20.14 进入页面弹出收藏夹 20.15 执行客户端的可执行程序 20.16 自动调用OutLook发送邮件 20.17 弹出窗口选择颜色 20.18 弹出框式...

    JavaScript完全自学宝典 源代码

    示例描述:演示JavaScript的简单应用及JavaScript特效。 1.1.html 用JavaScript开发的弹出式“Hello World”实例。 1.2.html 在页面中输出的“Hello World”。 1.3.html 使用JavaScript进行文本框值的...

    《程序天下:JavaScript实例自学手册》光盘源码

    20.11 打开Internet选项对话框 20.12 打开Windows系统的画板 20.13 弹出保存对话框 20.14 进入页面弹出收藏夹 20.15 执行客户端的可执行程序 20.16 自动调用OutLook发送邮件 20.17 弹出窗口选择颜色 20.18 弹出框式...

    JavaScript网页特效范例宝典源码

    实例032 打开窗口时显示对话框 50 实例033 使窗口背景透明 50 实例034 立体窗口 52 实例035 动态标题栏 53 实例036 固定大小的窗口 54 1.6 框架的应用 55 实例037 框架集的嵌套 56 实例038 在网页中应用浮动框架 58 ...

    html网页js打开文件对话框带预览框.JS实现文件上传前先本地预览功能

    html file控件选择文件后立即预览 js实现 JS实现图片上传前先图片预览功能

    dialog:Sketch模块,用于显示用于打开和保存文件,警报等的本机系统对话框

    一个Sketch模块,用于显示用于打开和保存文件,警报等的本机系统对话框。该API模仿了 。 安装 要在您的Sketch插件中使用此模块,您需要一个捆绑器实用程序(如并将其添加为依赖项: npm i -S @skpm/dialog 用法 ...

Global site tag (gtag.js) - Google Analytics