有没有办法将 php 放入 IE 条件注释中

发布于 2024-11-01 08:56:57 字数 572 浏览 1 评论 0原文

我有一个 php 部分,它通过 wordpress 从 google 的 api 加载 jquery。我不想在 IE 浏览器上加载 jquery。长话短说,无论出于何种原因它都不起作用(您可以阅读我其他发布的问题)。

或者,如果这是不可能的,是否有另一种方法可以在 IE 浏览器时不使用此代码,也许是 php 解决方案。

<?php 
    if( !is_admin()){
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }

?>

针对除 IE 之外的所有内容(我试图使用它,但它不起作用):

<!--[if !IE]><!-->
<!--<![endif]-->

I have a php section that loads jquery through wordpress from google's api. I dont want to load jquery on IE browsers. Long story short, it doesn't work for whatever reason (you can read through my other posted questions).

Or if this is not possible is there another way to NOT use this code when its an IE browser, maybe a php solution.

<?php 
    if( !is_admin()){
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }

?>

Targets everything except IE (what i was trying to use, but it didnt work):

<!--[if !IE]><!-->
<!--<![endif]-->

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

も星光 2024-11-08 08:56:57

您在 WordPress 中拥有全局 $is_IE。

You have the global $is_IE in Wordpress.

归属感 2024-11-08 08:56:57

不。您可能希望在 PHP 块中检测浏览器作为替代解决方案。类似的东西:

$browser = get_browser();
if ($browser->browser == 'MSIE') {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }
}

或者使用 $is_IE 全局变量,如 Nikolay Yordanov 的答案所示:

if ($is_IE) {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }
}

No. You'd probably want to detect the browser in a PHP block as an alternative solution. Something like:

$browser = get_browser();
if ($browser->browser == 'MSIE') {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }
}

Or using the $is_IE global variable as in Nikolay Yordanov's answer:

if ($is_IE) {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2', true);
        wp_enqueue_script('jquery');
    }
}
难以启齿的温柔 2024-11-08 08:56:57

简短的回答:不。

长答案:IE条件注释是客户端,而PHP是服务器端,所以它不起作用。

可能的解决方案: http://php.net/manual/en/function.get- browser.php (或者根据已经发布的答案之一,wordpress 提供了 $is_IE 全局变量)

Short answer: no.

Long answer: IE conditional comments are client side, while PHP is server side, so it won't work.

Possible solution: http://php.net/manual/en/function.get-browser.php (or according to one of the answers already posted, wordpress provides a $is_IE global)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文