【问题标题】:jQuery - IE ONLY cssjQuery - 仅适用于 IE 的 CSS
【发布时间】:2011-09-12 02:37:09
【问题描述】:

可以用吗

var script = document.createElement('link');
script.href = 'theme/style/ie/manageleads.css';
script.rel  = 'stylesheet';
script.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(script);

只有在浏览器是 IE8 时它才处于活动状态?

【问题讨论】:

    标签: javascript jquery css internet-explorer-8 stylesheet


    【解决方案1】:

    http://api.jquery.com/jQuery.browser/

    请注意,IE8 在兼容性视图中声称为 7。

    if ($.browser == 'msie' && (parseInt($.browser.version) == 8 || parseInt($.browser.version) == 7))
    {
        // Do something IE8-only in here
    }
    

    【讨论】:

    • "$.browser == 'msie'" 对我不起作用。相反,我使用了“$.browser.msie”——就像一个魅力。 :)
    • @AlexZak 是的,jQuery 更改了 toString()$.browser,因为它用于返回浏览器的“名称”。从 jQuery 1.9 开始,$.browser 已被删除,并且不再有效 - 请参阅我对 jQuery.browser 的回答中的原始链接了解更多详情
    【解决方案2】:

    最好的方法是条件 CSS,但既然你要求使用 jQuery,那就去吧。

    if ($.browser.msie && parseInt($.browser.version) == 8) {
      $('<link />', {
        href: 'theme/style/ie/manageleads.css',
        rel: 'stylesheet',
        type: 'text/css'
      }).appendTo('head');
    }
    

    如果这不起作用,请告诉我。您可能需要改用“document.createStylesheet”。

    【讨论】:

    • $.browser.version 可能会返回类似8.2256.4382 的内容,因此您需要(理想情况下)使用parseInt 来获取主要版本号。
    • 好电话,我没注意到。
    猜你喜欢
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多