如何检测并显示一个仅供IE使用的页面?

时间:2011-10-17 作者:Kenshi

我有一个在IE中不起作用的主题,所以我希望能够检测到浏览器,并重定向到“抱歉,这对你的浏览器不起作用”类型或任何你们可以建议的解决方案。

有什么好办法吗?

3 个回复
最合适的回答,由SO网友:Rutwick Gangurde 整理而成

尝试使用此代码检查它是否为IE(original source)...

<?php
    if (isset($_SERVER[\'HTTP_USER_AGENT\']) && (strpos($_SERVER[\'HTTP_USER_AGENT\'], \'MSIE\') !== false))
        return true;
    else
        return false;
?>
您必须将其与操作挂钩,并相应地重定向。

SO网友:Rarst

WP定义了全球$is_IE 变量,适当的挂钩为template_redirect.

类似这样:

add_action(\'template_redirect\', \'if_ie\');

function if_ie() {

    global $is_IE;

    if($is_IE) {

        // code goes here
    }

    die; // stop execution and not proceed to theme template
}

SO网友:endle.winters

此外,只有通过为internet explorer提供样式表,才能使用CSS实现这一点。

在标题中可以有以下行:

<!--[if lte IE 8]>
    <link rel="stylesheet" href="<?php bloginfo(\'template_directory\'); ?>/css/ie.css" type="text/css" media="screen" />
 <![endif]-->
这将指向你的ie.css样式表。代码基本上会说“如果浏览器小于或等于InterentExplorer 8(意味着7、6或5…)然后使用此样式表。。。

也将使用其他样式表,但您可以使用ie.css规则覆盖其他规则。从那里你可以做几件事。我会通过一个隐藏的div来解决这个问题,其中包含一些文本,其中包含您的消息。像这样:

#hiddendiv /* hides it */



{

    position: fixed;

    left: 999999px; 

    height:1px; 

}
然后在ie.css中,你可以用同样的方式隐藏所有其他div,并用真正大的文本和白色背景取消隐藏该div。

这个解决方案可能没有那么多bug,而且有更多的灵活性,因为您可以选择要针对哪个版本的IE。

结束

相关推荐

如何检测并显示一个仅供IE使用的页面? - 小码农CODE - 行之有效找到问题解决它

如何检测并显示一个仅供IE使用的页面?

时间:2011-10-17 作者:Kenshi

我有一个在IE中不起作用的主题,所以我希望能够检测到浏览器,并重定向到“抱歉,这对你的浏览器不起作用”类型或任何你们可以建议的解决方案。

有什么好办法吗?

3 个回复
最合适的回答,由SO网友:Rutwick Gangurde 整理而成

尝试使用此代码检查它是否为IE(original source)...

<?php
    if (isset($_SERVER[\'HTTP_USER_AGENT\']) && (strpos($_SERVER[\'HTTP_USER_AGENT\'], \'MSIE\') !== false))
        return true;
    else
        return false;
?>
您必须将其与操作挂钩,并相应地重定向。

SO网友:Rarst

WP定义了全球$is_IE 变量,适当的挂钩为template_redirect.

类似这样:

add_action(\'template_redirect\', \'if_ie\');

function if_ie() {

    global $is_IE;

    if($is_IE) {

        // code goes here
    }

    die; // stop execution and not proceed to theme template
}

SO网友:endle.winters

此外,只有通过为internet explorer提供样式表,才能使用CSS实现这一点。

在标题中可以有以下行:

<!--[if lte IE 8]>
    <link rel="stylesheet" href="<?php bloginfo(\'template_directory\'); ?>/css/ie.css" type="text/css" media="screen" />
 <![endif]-->
这将指向你的ie.css样式表。代码基本上会说“如果浏览器小于或等于InterentExplorer 8(意味着7、6或5…)然后使用此样式表。。。

也将使用其他样式表,但您可以使用ie.css规则覆盖其他规则。从那里你可以做几件事。我会通过一个隐藏的div来解决这个问题,其中包含一些文本,其中包含您的消息。像这样:

#hiddendiv /* hides it */



{

    position: fixed;

    left: 999999px; 

    height:1px; 

}
然后在ie.css中,你可以用同样的方式隐藏所有其他div,并用真正大的文本和白色背景取消隐藏该div。

这个解决方案可能没有那么多bug,而且有更多的灵活性,因为您可以选择要针对哪个版本的IE。

相关推荐

如何检测并显示一个仅供IE使用的页面? - 小码农CODE - 行之有效找到问题解决它

如何检测并显示一个仅供IE使用的页面?

时间:2011-10-17 作者:Kenshi

我有一个在IE中不起作用的主题,所以我希望能够检测到浏览器,并重定向到“抱歉,这对你的浏览器不起作用”类型或任何你们可以建议的解决方案。

有什么好办法吗?

3 个回复
最合适的回答,由SO网友:Rutwick Gangurde 整理而成

尝试使用此代码检查它是否为IE(original source)...

<?php
    if (isset($_SERVER[\'HTTP_USER_AGENT\']) && (strpos($_SERVER[\'HTTP_USER_AGENT\'], \'MSIE\') !== false))
        return true;
    else
        return false;
?>
您必须将其与操作挂钩,并相应地重定向。

SO网友:Rarst

WP定义了全球$is_IE 变量,适当的挂钩为template_redirect.

类似这样:

add_action(\'template_redirect\', \'if_ie\');

function if_ie() {

    global $is_IE;

    if($is_IE) {

        // code goes here
    }

    die; // stop execution and not proceed to theme template
}

SO网友:endle.winters

此外,只有通过为internet explorer提供样式表,才能使用CSS实现这一点。

在标题中可以有以下行:

<!--[if lte IE 8]>
    <link rel="stylesheet" href="<?php bloginfo(\'template_directory\'); ?>/css/ie.css" type="text/css" media="screen" />
 <![endif]-->
这将指向你的ie.css样式表。代码基本上会说“如果浏览器小于或等于InterentExplorer 8(意味着7、6或5…)然后使用此样式表。。。

也将使用其他样式表,但您可以使用ie.css规则覆盖其他规则。从那里你可以做几件事。我会通过一个隐藏的div来解决这个问题,其中包含一些文本,其中包含您的消息。像这样:

#hiddendiv /* hides it */



{

    position: fixed;

    left: 999999px; 

    height:1px; 

}
然后在ie.css中,你可以用同样的方式隐藏所有其他div,并用真正大的文本和白色背景取消隐藏该div。

这个解决方案可能没有那么多bug,而且有更多的灵活性,因为您可以选择要针对哪个版本的IE。

相关推荐