位置: 编程技术 - 正文

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实现登录功能)

  • 2019年的个税现在还可以退吗
  • 税务局纳税申报网站官网
  • 金税盘服务费全额抵扣
  • 小规模纳税人税控系统
  • 出口货物的报关时限为装货的24小时以前
  • 房屋租赁账务处理程序
  • 企业注销其他应付款可以转入未分配利润吗
  • 加计抵减税金分录
  • 两地拿工资怎么扣个税
  • 买房印花税怎么计算出来
  • 同一张记账凭证可以出现多笔分录吗
  • 原始凭证丢失如何处理会罚款吗
  • 税务大厅补报个税怎样申报
  • 税务清算审计需要多久
  • 小规模纳税人收到专票有什么影响
  • 未达起征点的个体户个人所得税
  • 项目工程分包账务
  • 待处理财产损益的二级科目
  • 小规模纳税人一个月能开多少税票
  • 住宿服务可以开免税吗
  • 电子承兑转让怎么撤销
  • 公司用库存商品怎么做账
  • 研发费加计扣除做账务处理吗
  • 总分公司合并缴纳个税
  • 国际代理运费和港杂费一样吗
  • win10系统出现蓝屏恢复
  • cn域名删除期
  • 减半征收所得税的有哪些
  • 存货的核算方法
  • php生成条形码的代码
  • react框架结构
  • 赫尔辛基哈加赫利亚大学
  • thinkphp删除文件
  • 人工智能怎么做出来的
  • 安装cuda和cudnn
  • move命令移动文件夹下所有文件
  • 微擎框架破解版v2.7.7
  • libev & libevent简介 IntelIOT 博客园
  • 基于个人同意处理个人信息的个人什么撤回其同意
  • 水灾期间未生产怎么处理
  • 加计扣除进项税额是什么意思
  • sql 封装
  • 公司的资金管理模式是什么?
  • 视同销售要不要确认收入?
  • 金税四期有什么变化
  • 冲以前年度成本分路
  • 售后租回交易的表述
  • 土地承包费和土地租赁费收入记账
  • 贴现帐务处理
  • 企业成本核算项目以及成本核算流程
  • 企业支付宝扣费
  • 固定资产清理账户期末有余额吗
  • 税控设备抵减增值税金额
  • 销售佣金的三大特点是什么?
  • 工会经费补缴的流程
  • 固定资产清理费用账务处理
  • 固定资产清理账户借方
  • 新会计准则应用
  • 安装mysql5.7虚拟机教程
  • SQLServer Execpt和not in 性能区别
  • 数据结构 简书
  • ssh连接虚拟机centos
  • unix系统什么样子
  • win10开机提醒
  • mac itunes在哪儿
  • kcleaner是什么文件夹
  • windows怎么右键
  • win7无法远程桌面win10
  • win7怎么取消开机选择系统
  • linux命令行技巧
  • js怎么做网页
  • 如何获得select选中的值
  • shell脚本编写简单计算器
  • javascript高级程序设计第三版
  • python中deque
  • jquery easyui插件
  • js正则表达式验证姓名
  • 国家税务局通用定额发票查询
  • 浙江国地税联合电子税务局
  • 契税个税怎么说
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设