设为首页 收藏本站
查看: 846|回复: 0

[经验分享] Window.open

[复制链接]

尚未签到

发表于 2019-1-27 08:11:30 | 显示全部楼层 |阅读模式
  1,基本描述
  1.1 方法签名:oNewWindow = window.open( sURL , sName , sFeatures, bReplace)
  通过方法签名可以看出,window.open在打开一个窗口(其url为sURL)后,将返回一个代表该窗口对象的一个变量
  oNewWindow,如果打开不成功,则oNewWindow的值为null。同时为了对打开的窗口预先做一些控制,提供了
  其他一些参数(sName、sFeatures、bReplace)可供选择配置,下面将具体说明每个参数的含义
  1.2 各参数的含义
  * oNewWindow:被打开的窗口的对象
  * sUrl:被打开窗口的url
  * sName:在哪个窗口打开新的url链接,例如可以为_blank(新窗口)、_top(最外层窗口)等等
  * sFeatures:对窗口的一些控制属性
  o fullscreen:是否为全屏模式(相当于F11的效果),可取值:yes/1、no/0
  o directories:是否带有目录按钮(例如收藏夹中的’链接’目录),可取值同上
  o location:是否带有地址栏,可取值同上
  o channelmode:是否为影院模式,可取值同上
  o menubar:是否带有菜单条,可取值同上
  o resizable:是否可以改变窗口的尺寸,可取值同上
  o scrollbars:是否带有滚动条,可取值同上
  o status:是否带有状态栏,可取值同上

  o>  o toolbar:是否带有快捷工具栏,可取值同上

  o>
  o>  o top:距屏幕上边缘的距离
  o left:距屏幕左边缘的距离
  * bReplace:如果在同一窗口打开新窗口,该值用于指定是否在history中替换原窗口的url链接,可取值:true/false
  2,基本使用
  * 在一个新窗口中打开某个链接link(/myoa/admin/manage.jsp)
  window.open ( “/myoa/admin/manage.jsp” ) ;
  或者
  window.open ( “/myoa/admin/manage.jsp” , “_blank” ) ;
  注意:这样的话,每次执行都会打开一个新窗口,即使上次打开的新窗口未关闭,仍然会弹出新的
  * 在指定的某个窗口中打开某个链接link(/myoa/admin/manage.jsp)
  window.open ( “/myoa/admin/manage.jsp” , “myWiddown” ) ; //myWindow即为窗口的名称
  注意:如果myWindow窗口不存在,那么将会新弹出一个窗口,并将新窗口命名为myWindow,只要该窗口
  不关闭,那么以后执行该open,弹出窗口均为这个已经存在的myWindow
  另外,有一些窗口名称已经被浏览器使用,具有特殊的含义,例如:_blank、_top、_parent、_self等
  * 打开一个新窗口,要求窗口高度300px、宽度500px、不带滚动条、不带地址栏(/myoa/admin/manage.jsp)
  window.open ( “/myoa/admin/manage.jsp” , “_blank” , “height=300,width=500,scrollbars=no,location=no” ) ;
  注意:sFeatures这些参数之间是用逗号分隔的,而在window.showModalDialog中,是用分号进行分隔的,一定要注意!
  3,高级部分
  * 原窗口与弹出窗口之间的对象定位
  o 概述:弹出窗口是我们在页面编程中经常使用的一种方式,从互动角度分析,弹出窗口主要有两种类型,一种是信息显示窗口,例如人员信息、文章信息等等;另外 一种是继续处理窗口,例如有些项目中,新建文章就是弹出窗口来完成的。对于信息显示窗口,用户看完之后关闭就可以了,但是对于继续处理窗口,在用户继续处 理之后,往往需要与原窗口进行户动,例如当在新窗口中创建一篇文章提交后,希望在弹出窗口关闭的同时,原窗口能够刷新等等。
  o 解决方式:上面方式的一个关键就是,如何获取原窗口与弹出窗口对象,在DOM模型中我们可以明确的看到:
  + 原窗口中获取弹出窗口对象:
  var infoWindow=window.open ( “create.jsp” , “_blank” , “width=500,height=400″ ) ;
  //infoWindow即代表了弹出窗口的window对象,例如在弹出窗口中有一个表单(myForm)和表单中的一个输入控件(username),我们可以这样操作:
  infoWindow.document.myForm.username.value= “lisi” ;
  o 弹出窗口中获取原窗口对象:
  如上例,在create.jsp中,我们可以如下操作来刷新原窗口
  opener.location.reload () ;
  //opener是DOM中提供的一个默认对象,表示的就是某个窗口的原窗口。
  * wondow.open的缓存处理
  o 概述:如果window.open链接的target指定的是一个已经存在了的窗口,尤其是原页面中的一个frame和iframe的话,此时 window.open打开的链接页面将不会从服务器重新请求,而是使用浏览器中相应的缓存页面,至少ie给人的感觉就是这样的,例如:
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668038-1-1.html 上篇帖子: Linux允许打开最大文件句柄数的参数调优 下篇帖子: open.gl 翻译之 显卡图形管线(pipeline)和着色器(shader)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表