OpenLayers OpenLayers

Ticket #755: browserdetection.2.patch

File browserdetection.2.patch, 3.1 kB (added by euzuro, 1 year ago)

even better -- modified example.html to display the browser name in the header or "detection error" if it didnt work

  • lib/OpenLayers/Util.js

    old new  
    965965    } 
    966966    return head; 
    967967}; 
     968 
     969 
     970/** 
     971 * @returns A two-character string which specifies which is the current  
     972 *           browser in which we are running.  
     973 *  
     974 *          Currently-supported browser detection and codes: 
     975 *           OP = Opera 
     976 *           IE = Internet Explorer 
     977 *           SF = Safari 
     978 *           FF = FireFox 
     979 *           MZ = Mozilla 
     980 *  
     981 *           If we are unable to property identify the browser, we return null. 
     982 * @type String 
     983 */ 
     984OpenLayers.Util.getBrowserName = function() { 
     985    var browserName = null; 
     986     
     987    var ua = navigator.userAgent.toLowerCase(); 
     988    if ( ua.indexOf( "opera" ) != -1 ) { 
     989        browserName = "OP"; 
     990    } else if ( ua.indexOf( "msie" ) != -1 ) { 
     991        browserName = "IE"; 
     992    } else if ( ua.indexOf( "safari" ) != -1 ) { 
     993        browserName = "SF"; 
     994    } else if ( ua.indexOf( "mozilla" ) != -1 ) { 
     995        if ( ua.indexOf( "firefox" ) != -1 ) { 
     996            browserName = "FF"; 
     997        } else { 
     998            browserName = "MZ"; 
     999        } 
     1000    } 
     1001     
     1002    return browserName; 
     1003}; 
  • examples/example.html

    old new  
    99    </style> 
    1010    <script src="../lib/OpenLayers.js"></script> 
    1111    <script type="text/javascript"> 
     12 
     13         
    1214        <!-- 
    1315        function init(){ 
     16 
     17            //set title name to include Browser Detection 
     18            // this is the only way to test the functionality  
     19            // of the getBrowserName() function 
     20            // 
     21            var header = OpenLayers.Util.getElement("browserHeader"); 
     22            header.innerHTML = "(browser: "; 
     23            var browserCode = OpenLayers.Util.getBrowserName(); 
     24            switch (browserCode) { 
     25                case "OP": 
     26                    browserName = "Opera"; 
     27                    break; 
     28                case "IE": 
     29                    browserName = "Internet Explorer"; 
     30                    break; 
     31                case "SF": 
     32                    browserName = "Safari"; 
     33                    break; 
     34                case "FF": 
     35                    browserName = "FireFox"; 
     36                    break; 
     37                case "MZ": 
     38                    browserName = "Mozilla"; 
     39                    break; 
     40                default:  
     41                    browserName = "detection error" 
     42                    break; 
     43            }                         
     44            header.innerHTML += browserName + ")"; 
     45 
    1446            var map = new OpenLayers.Map('map'); 
    1547 
    1648            var options = {  
     
    4577    </script> 
    4678  </head> 
    4779  <body onload="init()"> 
    48     <h1>OpenLayers Example</h1> 
     80    <table><tr><td> 
     81        <h1>OpenLayers Example</h1> 
     82    </td><td> 
     83        <h3 id="browserHeader"></h3> 
     84    </td></tr></table> 
    4985    <div id="map"></div> 
    5086  </body> 
    5187</html>