位置: 编程技术 - 正文

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

  • 房地产开发企业简易计税方法 可以扣除吗
  • 增值税报表解读
  • 未交增值税借贷方负数表示
  • 以件数为印花税计税依据的有哪些
  • 审计调整分录汇总的内容
  • 研发费用成本化和费用化
  • 预缴所得税更正怎么操作
  • 技术服务公司可以卖材料吗
  • 先结转损益还是先结转本年利润
  • 转让股权收入需要缴纳企业所得税吗
  • 全资子公司合并报表是权益法还是成本法
  • 补发工资如何计提
  • 应收账款融资的优缺点
  • 罚款所得税调整
  • 公司注销实收资本怎么处理
  • 运输公司的固定资产怎么提折旧
  • 公司注销留抵税额税法规定
  • 安全费用支出范围包括
  • 公司如何向税务部门举报
  • 印花税可以计入开办费吗
  • 劳务外包公司代发工资能正常发吗
  • 固定资产提前报废
  • 所得税季报季末从业人数怎么填
  • 固定资产原值变更当月计提折旧
  • 撤销实收资本会怎么样
  • 股东对外投资
  • 流动资产的损失计入哪里
  • 金税盘电子发票怎么开
  • 已认证发票退货怎么办
  • 金税盘的用户名
  • 亏损的结转分录
  • 以前年度长期待摊费用没摊销怎么办
  • Group policy client是什么意思中文翻译介绍
  • 固定资产计提折旧的原则
  • php数组函数题目
  • 生产企业出口退税的计算方法
  • 收到银行退回的会计分录
  • 企业如何申请进出口资质
  • 应付职工薪酬年末结转到哪个科目
  • 企业购买银行理财
  • Notojima岛附近的牡蛎养殖场,日本石川县 (© divedog/Shutterstock)
  • 持有至到期投资账务处理
  • 比特币形式投资是否诈骗
  • vue2和vue3的兼容
  • php中定义函数
  • 网上学电脑
  • 帝国cms采集发布的文章链接打不开
  • 高新技术研发的重要性
  • 在建工程项目的范围包括
  • 股票股利怎么理解
  • sql server 新增字段
  • 可抵扣进项税的普通发票
  • 现金支票最少多少起提
  • 买的仪器
  • 一般纳税人抵扣怎么算
  • 房地产开发企业销售自行开发的房地产项目
  • 企业盘亏的设备会计分录
  • 包含个人社保的保险
  • 如何审计主营业务收入的真实性问题
  • 海关发票丢失怎么处理
  • mysql mod
  • xp电脑搜索文件为什么搜索不出来
  • mac怎么有线投屏到电视
  • ubuntu启动vncserver
  • mac重装macos
  • 安装ubuntu后无法进入windows
  • win7怎么关闭自带键盘
  • win7桌面没有了怎么办
  • Win10 Mobile 10586.63截图曝光:或为正式推送版本
  • jquery的使用
  • 深入理解新发展理念,推进供给侧结构性改革心得体会
  • 电脑启动项清理
  • node.js [superAgent] 请求使用示例
  • javascript代码用什么来标记
  • centos 安装完成后无法启动
  • JavaScript中定义数组
  • 玩转兽世:兽夫,亲一个
  • js中类
  • 运输公司抵扣
  • 怎样查看招聘信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设