首页  >  文章  >  php教程  >  修复success、error方法的一个小bug

修复success、error方法的一个小bug

WBOY
WBOY原创
2016-06-07 11:45:311772浏览

"本来当使用$this->assign('closeWin',true);后,再调用success或error方法,提示显示完了之后窗口就会自动关闭.但某些浏览器却不能关闭窗口"的bug的修复方法
系统Action类中的success方法和error方法存在一个小bug,算是一个不足之处.

原先设计是:当使用$this->assign('closeWin',true);后,再调用success或error方法,提示显示完了之后窗口就会自动关闭.

实际效果:某些浏览器却不能关闭窗口(比如谷歌浏览器)

原因:javascript代码不完善

解决办法:
依次展开ThinkPHP目录下的Lib/Core,找到Action.class.php文件
找到dispatchJump函数(success和error实际调用此函数).
将if($this->get('closeWin')) $this->assign('jumpUrl','javascript:window.close();');
换成if($this->get('closeWin')) $this->assign('jumpUrl','javascript:window.opener=null;window.open(\'\',\'_self\',\'\');window.close();');

AD:真正免费,域名+虚机+企业邮箱=0元

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn