Heim  >  Artikel  >  php教程  >  修复success、error方法的一个小bug

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

WBOY
WBOYOriginal
2016-06-07 11:45:311770Durchsuche

"本来当使用$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元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn