Html 试图找到一种方法阻止Internet Explorer用户在我修复问题时打开我的页面

Html 试图找到一种方法阻止Internet Explorer用户在我修复问题时打开我的页面,html,css,internet-explorer,Html,Css,Internet Explorer,我刚刚发布了一个网站,发现了一系列与Internet Explorer的兼容性问题(令人惊讶!)。我当时正处于时间紧迫的时期,我希望保持该网站正常运行,因为它在所有其他浏览器上都很不错,但在我处理兼容性问题时,会阻止运行Internet Explorer的用户查看该网站,并为他们提供默认的启动页(如果可能) 有办法做到这一点吗?我曾考虑过在样式表中使用条件语句,也许可以这样编辑,但我想我会看看是否有人知道一种简单的方法来完成它。在我的脑海中,似乎你必须查询客户端的浏览器用户代理,并根据结果重定向

我刚刚发布了一个网站,发现了一系列与Internet Explorer的兼容性问题(令人惊讶!)。我当时正处于时间紧迫的时期,我希望保持该网站正常运行,因为它在所有其他浏览器上都很不错,但在我处理兼容性问题时,会阻止运行Internet Explorer的用户查看该网站,并为他们提供默认的启动页(如果可能)


有办法做到这一点吗?我曾考虑过在样式表中使用条件语句,也许可以这样编辑,但我想我会看看是否有人知道一种简单的方法来完成它。

在我的脑海中,似乎你必须查询客户端的浏览器用户代理,并根据结果重定向/加载相应的页面/CSS。似乎我会使用条件语句。

在我的脑海中,似乎您必须查询客户端的浏览器用户代理,并根据结果重定向/加载相应的页面/CSS。似乎我会使用条件语句。

您可以仅使用IE条件语句并在整个页面上显示覆盖,请参阅。在ie专用代码中,您将显示如下内容:

<!--[if IE]>
   <div style='position:absolute;top:0px;left:0px;width:100%;height:100%;background:white;padding-top:50%;text-align:center;'>
          <!-- add more styling or split it up in some separate stylesheet-->
          This site is currently disabled for IE users
   </div>
<![endif]-->

此网站当前已被IE用户禁用

您可以仅使用IE条件并在整个页面上显示覆盖,请参阅。在ie专用代码中,您将显示如下内容:

<!--[if IE]>
   <div style='position:absolute;top:0px;left:0px;width:100%;height:100%;background:white;padding-top:50%;text-align:center;'>
          <!-- add more styling or split it up in some separate stylesheet-->
          This site is currently disabled for IE users
   </div>
<![endif]-->

此网站当前已被IE用户禁用

您正在寻找的方法称为“浏览器嗅探”,通常被认为是解决此类问题的一种不太优雅的方法。但它是有用的

Quirksmode对此颇有争议。将下面的大对象粘贴到脚本中,并使用以下三个属性进行查询:

BrowserDetect.browser
BrowserDetect.version
BrowserDetect.OS
完整对象源(有关详细信息,请参阅Quirksmode):

var BrowserDetect={
init:函数(){
this.browser=this.searchString(this.dataBrowser)| |“未知浏览器”;
this.version=this.searchVersion(navigator.userAgent)
||此.searchVersion(navigator.appVersion)
||“未知版本”;
this.OS=this.searchString(this.dataOS)| |“未知操作系统”;
},
searchString:函数(数据){

对于(var i=0;i来说,您希望执行的操作称为“浏览器嗅探”,通常被认为是解决此类问题的一种不太优雅的方法。但它很有用

Quirksmode对此颇有争议。您可以将下面的大对象粘贴到脚本中,并使用以下三个属性进行查询:

BrowserDetect.browser
BrowserDetect.version
BrowserDetect.OS
完整对象源(有关详细信息,请参阅Quirksmode):

var BrowserDetect={
init:函数(){
this.browser=this.searchString(this.dataBrowser)| |“未知浏览器”;
this.version=this.searchVersion(navigator.userAgent)
||此.searchVersion(navigator.appVersion)
||“未知版本”;
this.OS=this.searchString(this.dataOS)| |“未知操作系统”;
},
searchString:函数(数据){

对于(var i=0;i将ie检测放在like之前 这是给ie 6的

<!--[if lte IE 6]>
<link href="css/disposeIE6.css" rel="stylesheet" type="text/css" />
<![endif]--> 

然后在你的信息中添加一个“disposeE6.jpg”。这将覆盖尺寸为1024px X 768px的站点 这是给ie 6的

<!--[if lte IE 6]>
<link href="css/disposeIE6.css" rel="stylesheet" type="text/css" />
<![endif]--> 

然后在消息中添加一个“dispeie6.jpg”。这将覆盖尺寸为1024px X 768px的站点。如果您运行的是Apache,则可以使用根目录中的单个.htaccess文件执行此操作

1) Make和IE.html文件。-类似于“此网站当前正在工作,请稍后再试。”
2) 然后在站点的根目录中创建一个.htaccess文件,并粘贴下面的文本

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "MSIE 6"  [OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE 7"  [OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE 8"  [OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE 9"
RewriteRule (.*) IE.html

如果您正在运行Apache,则可以使用根目录中的单个.htaccess文件来完成此操作

1) Make和IE.html文件。-类似于“此网站当前正在工作,请稍后再试。”
2) 然后在站点的根目录中创建一个.htaccess文件,并粘贴下面的文本

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "MSIE 6"  [OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE 7"  [OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE 8"  [OR]
RewriteCond %{HTTP_USER_AGENT} "MSIE 9"
RewriteRule (.*) IE.html

这听起来是个糟糕的主意。给他们一个网站,但给他们一个通知,为不得不给他们一个坏版本道歉。@lonesome:我说这要看情况而定。例如,如果这是一个公文包网站或其他什么东西,暂时只创建一个启动页面可能没问题-就像这个网站从未启动过一样。我说这比拥有它要好在一个灾难性的状态下,并为此道歉…特别是如果他打算在短期内修复它。也许。就我个人而言,我希望你说(a)如果你真的想(你不能阻止我)和(b)你可以查看页面给我们你的电子邮件地址,我们会让你知道它是否已修复。如果它不是完全不可用,也就是说…我最终确实完全关闭了该网站,并为每个人设置了一个启动页(我最终遇到了比我最初认为的更多的兼容性问题)。话虽如此,我现在知道该怎么做了!这听起来是个糟糕的主意。给他们一个网站,但给他们一个通知,为不得不给他们一个损坏的版本道歉。@lonesome:我说这要看情况了。如果这是一个公文包网站或其他什么东西,暂时只创建一个启动页可能就好了,就像这个网站从来没有过一样启动。我认为这比让它处于灾难状态并为此道歉要好…特别是如果他打算在短期内修复它。也许。我个人希望你说(a)如果你真的想(你不能阻止我)和(b)你可以查看页面给我们你的电子邮件地址,我们会让你知道它是否已修复。如果它不是完全不可用,也就是说…我最终确实完全关闭了该网站,并为每个人设置了一个启动页(我最终遇到了比我最初认为的更多的兼容性问题).话虽如此,我现在知道怎么做了!为什么只有IE6?其他版本呢?为什么只有IE6?其他版本呢?