Difference between revisions of "How to determine browser capabilities/zh-tw"
From Joomla! Documentation
(Created page with "如何確定瀏覽器相容性") |
(Created page with "Category:Tips and tricks/zh-tw Category:FAQ/zh-tw Category:Component Development/zh-tw Category:JavaScript/zh-tw") |
||
Line 39: | Line 39: | ||
<noinclude> | <noinclude> | ||
− | [[Category:Tips and tricks]] | + | [[Category:Tips and tricks/zh-tw]] |
− | [[Category:FAQ]] | + | [[Category:FAQ/zh-tw]] |
− | [[Category:Component Development]] | + | [[Category:Component Development/zh-tw]] |
− | [[Category:JavaScript]] | + | [[Category:JavaScript/zh-tw]] |
</noinclude> | </noinclude> |
Latest revision as of 21:10, 1 February 2021
Different web browsers sometimes show differences in the way that they render a page. For this reason you may wish to find out which particular browser a visitor is using, in order to use some browser-specific CSS.
The following JavaScript defines a simple browser detection object which determines the browser's name and version by decoding the navigator.userAgent
string.
function browserDetect()
{
var browserNames=new Array("Opera", "MSIE","Netscape","Firefox");
this.name="NK";
this.mainVersion="NK";
this.minorVersion="NK";
for (var i=0; i< browserNames.length; i++)
{
var pattern='('+browserNames[i]+')'+'.([0-9]+)\.([0-9]+)';
var myRegExp=new RegExp(pattern);
if (myRegExp.test(navigator.userAgent))
{
var results=myRegExp.exec(navigator.userAgent);
this.name=results[1];
this.mainVersion=results[2];
this.minorVersion=results[3];
break;
}
}
}
In order to use this in a script, you then create an instance of this object:
var browser = new browserDetect();
The property browser.name
will then give you then name of the browser (MSIE, Opera, Netscape or Firefox), browser.mainVersion
will give you the main version number and browser.minorVersion
will give you the minor version number.
However you should be aware that this is not foolproof, and it is generally better (in this writer's opinion) to avoid writing browser-specific code as far as possible.