-1

是否可以根据用户使用的浏览器在 CMS (DNN) 中显示不同的内容?例如,如果 IE 7 则显示内容 1

IE7 不喜欢那么好和 id 的图像映射,而只是向用户显示我制作的流程图的静态图像。

<!--[if IE 7]>
Special instructions for IE 7 here
<![endif]-->

我想编写一些 jquery 来删除内容窗格中 div 类的内容(对于该页面,因此检查文件扩展名 process.aspx),然后在隐藏的 div 中启用图像。<<这是我的理论?

  1. 检测哪个浏览器(如果 ie7 则:
  2. 从内容窗格中删除内容(检查 process.aspx 的 url)
  3. 启用隐藏的 div 使用display:block
4

3 回答 3

1

你可以使用jQuery.browser方法:

if (jQuery.browser.msie && jQuery.browser.version == '7.0') {
      $('#content').show();
}

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

于 2012-04-24T10:01:34.147 回答
1

这是获取 IE 版本的 JS 方法(-1如果不是 IE,则返回):

function isUndefined(e) {
    return typeof e === "undefined";
}

function getIEVersion() {
    var style = document.body.style;
    var version = -1;
    if(!isUndefined(style.scrollbar3dLightColor)) {
        if (!isUndefined(style.opacity)) version = 9;
        else if (!isUndefined(style.msBlockProgression)) version = 8;
        else if (!isUndefined(style.msInterpolationMode)) version = 7;
        else if (!isUndefined(style.textOverflow)) version = 6;
        else version = 5;
    }
    return version;
}

然后,使用 jQuery:

$(function() {
    if(getIEVersion() == 7) {
        $('#content-pane').hide();
        $('#hidden-div').show();
    }
});
于 2012-04-24T10:02:54.260 回答
0

老实说,你可以用 CSS 做到这一点。

你有两条内容吗

<div class="ForEveryone">
<!-- Your stuff here -->
</div>

<div class="ForIE7">
<!-- Code for less helpful browser here -->
</div>

然后默认有css做

.ForIE7 { display: none; }

然后使用 IE 7 特定样式表将其更改为

.ForEveryone { display: none; }
.ForIE7 { display: block; }

无需为此使用javascript。

于 2012-04-24T21:06:33.887 回答