-1

ユーザーが使用しているブラウザに基づいて、CMS (DNN) 内で異なるコンテンツを表示することは可能ですか? たとえば、IF IE 7 の場合、コンテンツ 1 を表示します。

IE7 は、私が作成したフローチャートの静止画像をユーザーに表示するだけのイメージ マップが好きではありません。

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

コンテンツ ペイン内の div クラスのコンテンツを削除する jquery をコーディングして (そのページの場合、ファイル拡張子 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 メソッドを次に示します (IE-1でない場合は戻ります)。

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 でこれを行うことができます。

2 つのコンテンツがありますか

<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 に答える