1

私は JSP の初心者で、ほとんどの人が遭遇したくない問題に直面しています。Internet Explorer 6.0 のサポートです。

私はGoogleを精査しましたが、答えが見つかりませんでした。私の質問は、ブラウザのバージョンに応じて、JSP 内に異なる Javascript をロードする方法はありますか?

私のアルゴリズムは次のようになります: Internet Explorer のバージョンを確認します。IE6 の場合は ie6.js を読み込み、そうでない場合は normal.js を読み込みます。

これまでのところ、これが私のJSをロードする方法です。

<script type="text/javascript" src="../js/normal.js"></script>
4

3 に答える 3

1

条件付きコメントを使用して、Internet Explorer 用のさまざまな Javascript をロードできます。

だから、あなたの場合:

<!--[if !IE 6]><!-->
    <script type="text/javascript" src="normal.js" />
<!--<![endif]-->
<!--[if IE 6]>
    <script type="text/javascript" src="ie6.js" />
<![endif]-->
于 2013-02-27T06:29:30.277 に答える
0

サーバー側でこれを実行する場合は、User-AgentHTTPヘッダーを確認する必要があります。この後、現在のリクエストにいくつかの属性を設定し、後でJSPページでその属性を確認できます。

...
String browserString = httpServletRequest.getHeader("User-Agent");

String browserVersion = ...; // Some user agent parsing and version determining

httpServletRequest.setAttribute("browserVersion", browserVersion);

ユーザーエージェントの例は、インターネット(http://www.useragentstring.com/pages/Internet%20Explorer/など)で見つけることができます。

于 2013-02-28T10:50:23.350 に答える
0

navigator次のようなオブジェクトでこれを行うことができます。

     var ua = navigator.userAgent;
     if(navigator.appName == 'Microsoft Internet Explorer'){
            //check for version

            var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null){
              version = parseFloat( RegExp.$1 );
            }
            if(version == 6.0){
               //load specific js for IE 6.0
               var file = document.createElement("script");
               file.setAttribute("type", "text/javascript");
               file.setAttribute("src", "../js/ie_6.js");
               document.getElementsByTagName("head")[0].appendChild(file);
            }
            else{
                //load normal.js for other IE versions.
                var file = document.createElement("script");
                file.setAttribute("type", "text/javascript");
                file.setAttribute("src", "../js/normal.js");
                document.getElementsByTagName("head")[0].appendChild(file);
            }
     }
于 2013-02-27T06:31:54.633 に答える