gpt4 book ai didi

javascript - 阻止 IE 用户加载网页

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:50 24 4
gpt4 key购买 nike

我是一名 C++ 开发人员,正在尝试交付他的第一个 PHP/HTML5/CSS3 元素。我不熟悉浏览器兼容性问题(尤其是 IE),我在 linux box 上做我的 CSS 工作。现在元素已经完成并准备交付,但发现没有任何 CSS 代码可以在 IE 上运行。

谷歌搜索我发现了 IE7.js、CSS3 Pie 和其他 java 脚本技巧,但没有人成功解决所有问题。所以我试图找到一种方法来防止用户使用旧版本的 IE 加载内容。

此脚本(或条件注释)应将用户重定向到一个自定义页面,指示他们必须下载并安装 IE 10 或更高版本,或现代浏览器。

我试着把这段代码放在页面的末尾:

<!--[if IE]>
<?php
header( 'Location: http://www.foo-bar.com/please-use-a-browser.html' ) ;
?>
<![endif]-->

但没有重定向。

欢迎任何其他建议。

最佳答案

您放在页面末尾的代码将不起作用,因为它是在客户端计算的,而 PHP 是一种服务器端语言。因此,当客户端解析用户是否使用 IE 时...没有任何反应,因为 PHP 没有输出任何浏览器可以阅读和理解的运行时“指令”。

替换header( 'Location: http://www.foo-bar.com/please-use-a-browser.html' ) ;与:

<script>
window.location.replace("http://stackoverflow.com");
</script>

所以你的代码将是:

<!--[if IE]>
<script>
window.location.replace("http://stackoverflow.com");
</script>
<![endif]-->

另外,放在页面顶部——重定向前不需要处理之前的内容,是否继续应该是在<head>中首先确定的。部分。

也就是说,我的一般倾向是调试和解决 CSS 问题,尤其是 IE 10 dropped support for conditional comments并且可以很好地保持自己的状态,您可能会发现自己只是在推迟不可避免的事情(很抱歉成为坏消息的传播者!)

另一种方法是将以下内容放在 head 中您页面的部分:

<script>
navigator.appName == 'Microsoft Internet Explorer' && window.location.replace("http://stackoverflow.com");
</script>

如果你真的想确定,read this article from Microsoft关于检测IE

关于javascript - 阻止 IE 用户加载网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com