600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > IE8 打开网站首页显示的却是手机网站

IE8 打开网站首页显示的却是手机网站

时间:2020-01-02 13:11:30

相关推荐

IE8 打开网站首页显示的却是手机网站

IE浏览器存在多种兼容问题

掌握技巧,不再害怕

用IE浏览器 打开网站首页,为何首页显示的是手机端页面?

注意:当前使用的是IE8及其以下版本ie浏览器

下面给出名称为:CheckMobile.java文件中部分代码(编译之前),具体示下:

JAVA代码块,如下:

...部分省略...package com.fh.util;import java.util.regex.Matcher;import java.util.regex.Pattern;/*** 查看是否为手机登陆* */public class CheckMobile {// \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔),// 字符串在编译时会被转码一次,所以是 "\\b"// \B 是单词内部逻辑间隔(连着的两个字母字符之间的逻辑上的间隔)static String phoneReg = "\\b(ip(hone|od)|android|opera m(ob|in)i"+ "|windows (phone|ce)|blackberry"+ "|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"+ "|laystation portable)|nokia|fennec|htc[-_]"+ "|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";static String tableReg = "\\b(ipad|tablet|(Nexus 7)|up.browser"+ "|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";// 移动设备正则匹配:手机端、平板static Pattern phonePat = pile(phoneReg,Pattern.CASE_INSENSITIVE);static Pattern tablePat = pile(tableReg,Pattern.CASE_INSENSITIVE);/*** 检测是否是移动设备访问* * @Title: check* @Date : -7-7 下午01:29:07* @param userAgent* 浏览器标识* @return true:移动设备接入,false: pc端接入*/public static boolean check(String userAgent) {if (null == userAgent) {userAgent = "";}// 匹配Matcher matcherPhone = phonePat.matcher(userAgent);Matcher matcherTable = tablePat.matcher(userAgent);boolean flag_table =matcherTable.find();//System.out.println(flag_table);//ie8下, 返回结果: true//boolean flag_table2 =matcherTable.find();//注意问题:对比前后结果//System.out.println(flag_table2); //ie8下, 返回结果: falseboolean flag_Phone =matcherPhone.find();//System.out.println(flag_Phone); //ie8下, 返回结果: false//boolean flag_Phone2 =matcherPhone.find();//System.out.println(flag_Phone2); //ie8下, 返回结果: falseif ( flag_Phone ) {return true;} else {if ( flag_table ){return true;}}return false;}}...部分省略...

注意:

通过上面的代码注释部分,经过测试,在后台打印日志中发现:

同样的代码“matcherTable.find()”,在经过“System.out.println(flag_table)”打印操作之后,值就被改变为false了,然后在ie8下,才能正常显示PC端首页;相反,如果取消或注释掉所有的matcherTable.find()打印操作,那么matcherTable.find()的返回值将一直为true,也就是判断ie8为移动端设备,所以显示的是手机端首页;

这个问题真的很奇葩,暂时也没能找到别的解决办法;

临时解决办法:
执行一下“System.out.println(flag_table)”打印操作,也无妨。但终究不是解决之道。

另外,在360浏览器的兼容模式下,因为用户浏览器设置选择的IE内核不同,显示的效果也会不一样,具体演示,此处省略不做深究。。。

参考讨论:

为什么我的ie浏览器打开不分页面时变成手机版了呢 【】

以上就是关于“IE8 打开网站首页显示的却是手机网站”的全部内容。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。