对抗IE变形记(3)——路见大神一声吼!
本文最后更新于 411 天前,其中的信息可能已经有所发展或是发生改变。

上面一次,我已经快要被逼疯····

但是这一次,我将彻底明白为什么没有用·····而且自己有了自己的一套思路!虽然还没有成功,但是这一次让我少走了不少弯路!

这一天,我又的遇到了一位大神,而且彻底搞明白了为什么在头部加入代码不会跳转·····

在百度知道上提问,给的回复总是那么几个,我一直不知道为什么,只要我提问,基本上就不会有人回答,就是回答一般也就一句话:对不起,我帮不到你···     或者就是这么简单的问题,你还要问,然后问怎么解决,就再也没有音了·····

不说这个了,就是这一次,我见识了大神的威力······

我在百度知道上给了他我的QQ然后他那天晚上就加了我······

一上来,就是远程,倍有面子!

首先,他在文件中,去掉了跳转,把跳转改成了输出浏览器类型,于是,就这么简单的一步,问题的真相就水落石出了!

就是输出浏览器类型,可是,接下来的事情让我立刻明白了·····

由于时间比较长,我把原来服务器上的文件删掉了,现在亲自给大家做实验!

我吧这个添加到header中吧。然后,先在chrome上面访问它,然后再IE上面访问TA,OK实验开始!

现在header文件中头部是这样的

这时,你清空缓存之后,你会发现先在chrome中访问主页,然后如图:

显示完全没有问题!然后,我们再去IE11中查看主页,如图:

怎么还是chrome啊 !!!难道我刚换的24k纯金狗眼瞎掉了吗??

没有瞎掉!!的确是这样的!!如果你先用IE访问这个页面,在chrome中就会得到IE的UA······

可是,这是为什么呢??

不错,聪明的应该已经想到了,缓存!!!就是缓存!!!

在我使用了chrome访问了清除缓存之后的页面,wp super cache会自动生成一个静态页面,这是由于它的工作原理来决定的,生产一个静态页面以后,当用户下一次访问这个页面是时,他会先去检查有没有静态页面,如果没有,把原来的php编译发给用户,如果有,就直接发给用户,这样来节省服务器的生成时间,起到加速效果。可是,如果当你在访问时,产生了一个UA,它会连同第一次访问时的UA一起保存为静态文件,这样就不会起到作用,而在所有浏览器中都会直接发送生成的缓存页面········这就导致了我们刚刚所碰到的问题!

于是,在这期间,我还是用这360的CDN节点加速,节节都有缓存,我可以说是把缓存做到了极致·······

而且就算是我把缓存disable掉,你也不会有跳转,虽然这时候判断正确了!细心的朋友刚刚可能就会想,为什么我将 <!DOCTYPE HTML> 圈起来呢? 这是有原因的!因为在header跳转之前不能有任何输出,听大神说,这样就会有输出。header跳转就没有用了!

于是,我将缓存disable,把 <!DOCTYPE HTML>放到页面最底部,然后去访问,果然!

慢了不少········我估计不是我服务器的问题,而是PHP或者模板的问题,但是这里我们先不处理/讨论这个问题。

然后你会发现:

IE:跳转正常。

chrome:正常不跳转。

于是,现在问题已经知道根源了,而且也容易多了·······

但是为了保护用户体验,不让页面打开太慢,我决定还是吧cache打开······

这也就引发了接下里的一个问题:我该怎么样在不经用缓存的情况下实现跳转呢?

我发现了一个问题,如果你把这个输出ua的文件单独写出来,不予wp沾边,就会出现这种情况:

我把上面的代码单独写在了一个名叫qa.php的文件中,然后上传到wp的根目录里,之后再去访问,就不会出现缓存哪样的情况,尽管我没有设置wp wuper cache 不缓存他,我也不知道为什么,但是自己猜想是因为这个文件不再wp的系统里面,在访问它是没有掉用到缓存机制,所以不会生成静态文件。

正常!于是机智的我立刻就想到了一个好点子!是什么呢?下一篇会有介绍!

评论

  1. vkge
    6年前
    2014-8-11 21:54:46

    哪里需要这种判断,
    前端不是这样子判断浏览器的
    还是那个关键点
    文档模式

    • 6年前
      2014-8-12 9:50:13

      哈哈,我这样只是把整个探索的步骤写下来,写到你的时候我说明哈

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇