在百度里搜索这个问题的答案,有的说是BOM头导致的问题,有的点是因为之前有输出语句导致的问题,有的话是Location和后面的:(冒号)之间有空格导致的问题,还有的话是因为没有加上exit()导致的问题,但是这几项都排除之外,用360浏览器8.1版本的仍然会有这种情况的发生,那么可以接着继续往下看
如果用360浏览器8.1版本的打开 “你的域名/admin/test.php”这样一个网页,源代码如下:
<?php
function getBrowser(){
if(empty($_SERVER['HTTP_USER_AGENT'])){
return 'robot!';
}
if( (false == strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) && (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident')!==FALSE) ){
return 'MSIE 11.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 10.0')){
return 'MSIE 10.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){
return 'MSIE 9.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){
return 'MSIE 8.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
return 'MSIE 7.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
return 'MSIE 6.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Edge')){
return 'Edge';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){
return 'Firefox';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
return 'Chrome';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
return 'Safari';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){
return 'Opera';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
return '360SE';
}
//微信浏览器
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessage')){
return 'MicroMessage';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>管理中心</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<form name="main_form" method="POST" action="test.php" enctype="multipart/form-data">
<input type="file" name="picurl" />
<input type="submit" class="button" value=" 确定 " />
</form>
</body>
</html>
上面的源代码说明:
一:fomr表单中有file类型的input
二:form设置了enctype="multipart/form-data"的话
三:当前test.php文件在admin这个目录下面
点击确定按钮之后的问题描述?
第一次点击不跳,仍然在当前页,第二次点击时提示“hi,真不巧,网页走丢了”,这个问题用其它的比如IE、谷歌、火狐浏览器测试没有发现问题,360其它浏览器未经测试
如何解决header的Location跳转无效或失败的问题,下面有两个方法?
一:将当前文件移到放在根目录下面的,移动到根目录下面跳转将正常了,很奇怪
二:如果当前表单不需要上传文件的话,那么去掉form的enctype="multipart/form-data"这个设置
如果需要上传文件,那么需要作下面的判断处理
switch (getBrowser()) {
case 'MSIE 7.0':
case 'MSIE 8.0':
case 'MSIE 9.0':
echo "<script>location.href='".$location."'</script>";
break;
default:
header("Location:".$location);
break;
}
exit();
360浏览器不同版本通过getBrowser()获取的结果对应关系:
8.1版本->MSIE 7.0
9.1版本->MSIE 8.0
10.1版本->MSIE 9.0
注意不管是360的哪个版本的,如果test.php文件放在根目录下面的话,那么getBrowser()得到的结果确变成了Chrome了,很奇怪
360浏览器header的Location跳转无效的解决办法
所属栏目:建站技术 更新时间:2020-10-30 点击: 次 文章来源:https://www.sznest.net/jzjs/3522.html
【上一篇】:如何将程序添加到右键菜单中?
【下一篇】:access数据库的表如何导出到excel表?
相关阅读
-
qq收不到或发不了图片及解决方案
要想解决qq收不到图片或是发不了图片,就要首先弄清楚原因何在?只有找到了原因,才能有的放矢,然后提出我们自己的解决方案,以至于最后彻底解决。第一种显而易见的原因是当时你所在地的网络特别慢,以至于QQ只能发送些文字,图片以文件的方法一发就卡住,或是以截图的方式发过去,对方看到的图片始终是处于加载过程的“小漏斗”状,最后就显示叉叉。还有另外一种情况,就是本身的网…
了解详情 >>
-
手机访问电脑网时自动跳转代码
4G降临,移动网站已经一发不可收拾,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?各位看官,小二上代码!来了!varurl=window.location.href;varurl_match=/vit=1$/i;if(!url.match(url_match)){if(navigator.userAgent.match(/(…
了解详情 >>
-
asp用正则批量替换过滤表中所有行的内容中的图片
SetHF=NewRegExp'建立正则表达式。HF.Pattern="《img[^>]*>"'设置模式、《请替换成英文的左尖括号。HF.IgnoreCase=True'设置是否区分字符大小写。HF.Global=True'设置全局可用性。Setconn=Server.CreateObject(…
了解详情 >>
-
删除bom标签或者bom头的php代码
有时程序的逻辑代码完全没有一问题,但是就是运行的时候出错,如果出现这种情况,那么有可能就是文件中包含了bom头所导致的,下面给出了php去除bom头的源代码,只要把下面的代码放到一个php的文件中,并且改好目录,然后运行那个文件就可以了//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除=".";//修改此行为需要检测的…
了解详情 >>
-
如何解决网站上传大文件的问题?
为了服务器的网络安全,避免因为超大文件导致服务器故障,所以对文件上传的大小限制是很有必要的,但是有些客户又有上传大文件的需求,比如上传pdf或者压缩包这种格式的文件,那么碰到这种情况下,如何解决这个问题呢?在浏览器输出phpinfo();查看LoadedConfigurationFile这个参数可以获取php.info的文件位置1:如果上传的文件太大,会导致…
了解详情 >>
-
如何修改文件默认打开方式为指定的程序?
一:“开始菜单”,在里面点击右侧的“运行”选项,输入“regedit”命令,打开注册表修改默认的打开方式需要在注册表中操作,在完成这个操作之前,我们先了解一下注册表中的以下的三个概念项:即左侧的类似于文件夹一样的图标数值名称:即点击“项”之后出现在右侧部分的左边的那个名称数值数据:即点击“项”之后出现在右侧部分的右边的那个数据了解了以上的三个概念之后,接下来…
了解详情 >>