位置: 编程技术 - 正文

JS 模态对话框和非模态对话框操作技巧汇总(js 模态对话框和对话框)

编辑:rootadmin
模态窗口 javascript 技巧汇总(传值、打开、刷新) 1、要弹出的页面中,一定要保证<head></head>标签间有<base target=“_self”>,否则会弹出的模态窗口上,点击按钮时,会再次弹出一个新页面。 2、被弹出页面的按钮的事件处理中,应该有Response.Write(new Function().ClosePage());语句,用以关闭当前的模态窗口。 3、因为幽默的缓存原因,如果你在模态窗口中修改了数据,你会发现,父页面上的数据刷新了,但是当你再点击按钮,重新弹出模态窗口时,你会发现模态窗口中的内容还是上次的内容,经过我试验,手动改了html代码后,点击弹出的模态窗口还是弹出相同的页面,所以,这里要绕开这个机制,方法是在被弹出的aspx页面后加上随机参数。上面模态窗口代码可以改成如下,以避免此问题: 注意红字部分参数,是自定义的一个参数,此参数应该是整个项目中唯一的变更名称,并且无意义(最保险的办法是把这个变更命名为lakjsdflawdfqwoifa之类的名称)。 基本上,满足了上述条件,做页面时就操作模态窗口,相对就简单了。 //------------------------------------------------------------------------------------------------------------- 模态窗口——有时会让你觉得很好用的一个东西关于showModalDialog和showModelessDialog的使用,一个b/s结构的项目中用window.open弹出的窗口被一些广告拦截工具给拦截了,没办法就只能用showModalDialog来解决问题,但showModalDialog这个方法不好的就是页面间传值太麻烦(传值有两种方法),可是实在没其他的办法来解决这个拦截问题,只有用这个了。代码到是两下就写好了,但调试代码的时候发现一个问题,用showModalDialog弹出的窗口中的内容一直是第一次访问页面时显示的内容,开始就怀疑是窗体调用的页面缓存,最后通过单步跟踪调试也证明了问题确实是读取的页面缓存,这说明了在asp.net中用showModalDialog和showModelessDialog做弹出窗体时最好在page_load事件加上 来清除缓存。用asp,php,js,vbscript测试使用showModalDialog方法没有出现需要清除缓存的情况,大家可以放心使用,关于showModalDialog的时候可以参见下面我找到的详细介绍 showModalDialog和showModelessDialog使用心得 一、showModalDialog和showModelessDialog有什么不同?   showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。   showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P) 二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?   在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<html>和<body>之间的。 三、怎样才刷新showModalDialog和showModelessDialog里的内容?   在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码: <body onkeydown="if (event.keyCode==){reload.click()}"> <a id="reload" href="filename.htm" style="display:none">reload...</a>   将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合<base target="_self">使用,不然你按下F5会弹出新窗口的。 注意:如果想当访问的时候自动刷新,可以在被打开得页面,设置一个记录变量,当被打开模态窗口得时候,变量至1,然后使用上述方法刷新模态窗口,当关闭窗口得时候,变量至0. 四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。   <input type="button" value="关闭" onclick="window.close()">   也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。 五、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=""//设置var_id变量         同样还可以对主窗口的任何对象进行操作,如form对象里的元素。         window.dialogArguments.form1.index1.value="这是在设置index1元素的值" 在弹出窗口中返回值:window.returnValue = ... ; 六、多个showModelessDialog的相互操作。   以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。   主文件的部份js代码。   var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px") //打开控制窗口   var s2=showModelessDialog('about:blank',window,"dialogTop:px;dialogLeft:px")  //打开被控制窗口   控制.htm的部份代码。   以上关键部份是:     窗口命名方式:var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px")     变量访问方式:window.dialogArguments.s2.dialogTop   这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能,通过这个原理,在showModelessDialog之间相互控制各自的显示页面,传递变量和数据等。这要看各位的发挥了。 ==================================================================== window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。 使用方法: vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 参数说明: sURL--必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 vArguments--可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。 sFeatures-- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。 1.dialogHeight :对话框高度,不小于px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5以上是px,为方便其见,在定义modal方式的对话框时,用px做单位。 2.dialogWidth: 对话框宽度。 3.dialogLeft: 离屏幕左的距离。 4.dialogTop: 离屏幕上的距离。 5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。 6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。 7.resizable: {yes | no | 1 | 0 } 〔IE5+〕:是否可被改变大小。默认no。 8.status: {yes | no | 1 | 0 } 〔IE5+〕:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。 9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。 下面几个属性是用在HTA中的,在一般的网页中一般不使用。 .dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。 .edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。 .unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。

推荐整理分享JS 模态对话框和非模态对话框操作技巧汇总(js 模态对话框和对话框),希望有所帮助,仅作参考,欢迎阅读内容。

JS 模态对话框和非模态对话框操作技巧汇总(js 模态对话框和对话框)

文章相关热门搜索词:js 模态对话框和对话框,js打开模态窗口,模态对话框原理,js弹出模态对话框,模态对话框原理,js弹出模态对话框,js 模态对话框和对比框,js 模态对话框和文本框,内容如对您有帮助,希望把文章链接给更多的朋友!

JS中 用户登录系统的解决办法 当用户输入pwd密码是就跳到第二个页面,4秒后,自动跳转到第三个页面login.htmlhtmlheadmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"scripttype="text/javasc

简易js代码实现计算器操作 htmlheadtitleJS版计算器/titlelinkrel="stylesheet"type="text/css"href=""metahttp-equiv="content-type"content="text/html;charset=utf-8"!--js代码可以放置在任意位置,按照先后顺序依

Javascript中 关于prototype属性实现继承的原理图

标签: js 模态对话框和对话框

本文链接地址:https://www.jiuchutong.com/biancheng/377675.html 转载请保留说明!

上一篇:js作用域及作用域链概念理解及使用(js有哪些作用域,分别是什么意思)

下一篇:JS中 用户登录系统的解决办法(js实现登录功能)

  • 非营利组织所得税
  • 金税四期对个人所得税的影响
  • 固定模板的东西叫什么
  • 计提坏账所得税费用分录
  • 甲是乙公司依法设立的分公司
  • 母子公司往来明细账正反面都可以写吗
  • 保本销售量的计算公式用安全边际率
  • 固定资产后续支出的确认和处理
  • 所得税汇算清缴分录怎么做
  • 房屋出售缴纳税种
  • 增值税普通发票怎么开
  • 资本公积转增资本的条件
  • 税收强制执行措施包括哪些
  • 小规模印花税减免性质代码和项目名称
  • 净利润与毛利润那个会大一点
  • 在建工程转入固定资产的条件
  • 电子发票上传平台失败是什么意思
  • 企业注销所得税汇算清缴
  • 贴现利息计算器
  • 如何关闭windows10自动更新
  • 炫龙dd3笔记本怎么样
  • thinkpad x230笔记本
  • 前端字符长度限制
  • 二次规划是什么意思
  • PHP:escapeshellarg()的用法_命令行函数
  • 股东怎么签合同
  • 企业债券利息收入计入什么科目
  • 支付手续费委托代销是什么意思
  • 净资产和净利润一样吗
  • PHP:mcrypt_module_is_block_algorithm()的用法_Mcrypt函数
  • 触屏不灵敏怎么调整oppo
  • 产品注册费会计科目
  • 酒店客房收入怎么算
  • laravel框架实现cms的体会
  • 暂估金额与发票金额会影响什么信息
  • 复制/root/install.log到/tmp
  • linux mail命令详解
  • trap指令在用户态执行
  • 厂房和设备折旧年限
  • 母公司和子公司可以一起投标吗
  • 企业所得税预缴少缴纳了,需要交滞纳金吗?
  • 出口退税转内销还是转免税好
  • 母公司持有子公司70%股权
  • 金税四期对小规模企业有何要求
  • 外购产品用于职工福利企业所得税视作销售吗
  • 年报资本负债表怎么看
  • 广告被罚
  • 累计折旧的借贷方表示
  • 收据为什么不能写今收到
  • 待抵扣进项税额和待认证进项税额的区别
  • 小规模纳税人劳务派遣差额征税税率
  • 体检收据可以入档案吗
  • 企业网银的电子对账未签约需要本人去吗
  • 公司向职工借钱怎么做账
  • windows下命令
  • 开机蓝屏怎么回事
  • win7系统开机蓝屏怎么修复
  • win8开机提示激活
  • 构建dockerfile
  • linux命令ls-l
  • linux ifconfig命令详解
  • 微信付费使用是真的吗
  • linux fdb表
  • shell中判断文件是否存在
  • javascript前端开发案例教程课后答案
  • jquery.treegrid
  • 使用jquery实现的项目
  • python3中raw_input的用法
  • react navigate
  • 国家税务总局公告2022年第9号
  • 四川税务网络领发票流程
  • 重庆九龙坡区商务委员会
  • 建筑施工及安装单位企业在异地
  • 纳税人总机构和分机构不在同一县怎么办
  • 广东电子税务局财务报表在哪里查询
  • 居间服务费税收优惠政策
  • 地税局科员干什么的
  • 北京昌平区租房价格
  • 青年税务培训内容有哪些
  • 异辛烷征收消费税2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设