mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-01 15:28:02 +02:00
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@39001 467b73ca-7a2a-4603-9d3b-597d59a354a9
127 lines
2.8 KiB
JavaScript
Executable File
127 lines
2.8 KiB
JavaScript
Executable File
/**
|
|
* @author Tim Copeland
|
|
*/
|
|
// Browser detection
|
|
|
|
var BrowserDetect = {
|
|
init: function () {
|
|
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
|
|
this.version = this.searchVersion(navigator.userAgent)
|
|
|| this.searchVersion(navigator.appVersion)
|
|
|| "an unknown version";
|
|
this.OS = this.searchString(this.dataOS) || "an unknown OS";
|
|
},
|
|
searchString: function (data) {
|
|
for (var i=0;i<data.length;i++) {
|
|
var dataString = data[i].string;
|
|
var dataProp = data[i].prop;
|
|
this.versionSearchString = data[i].versionSearch || data[i].identity;
|
|
if (dataString) {
|
|
if (dataString.indexOf(data[i].subString) != -1)
|
|
return data[i].identity;
|
|
}
|
|
else if (dataProp)
|
|
return data[i].identity;
|
|
}
|
|
},
|
|
searchVersion: function (dataString) {
|
|
var index = dataString.indexOf(this.versionSearchString);
|
|
if (index == -1) return;
|
|
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
|
|
},
|
|
dataBrowser: [
|
|
{
|
|
string: navigator.vendor,
|
|
subString: "Apple",
|
|
identity: "Safari"
|
|
},
|
|
{
|
|
prop: window.opera,
|
|
identity: "Opera"
|
|
},
|
|
{
|
|
string: navigator.vendor,
|
|
subString: "iCab",
|
|
identity: "iCab"
|
|
},
|
|
{
|
|
string: navigator.vendor,
|
|
subString: "KDE",
|
|
identity: "Konqueror"
|
|
},
|
|
{
|
|
string: navigator.userAgent,
|
|
subString: "Firefox",
|
|
identity: "Firefox"
|
|
},
|
|
{ // for newer Netscapes (6+)
|
|
string: navigator.userAgent,
|
|
subString: "Netscape",
|
|
identity: "Netscape"
|
|
},
|
|
{
|
|
string: navigator.userAgent,
|
|
subString: "MSIE",
|
|
identity: "Explorer",
|
|
versionSearch: "MSIE"
|
|
},
|
|
{
|
|
string: navigator.userAgent,
|
|
subString: "Gecko",
|
|
identity: "Mozilla",
|
|
versionSearch: "rv"
|
|
},
|
|
{ // for older Netscapes (4-)
|
|
string: navigator.userAgent,
|
|
subString: "Mozilla",
|
|
identity: "Netscape",
|
|
versionSearch: "Mozilla"
|
|
}
|
|
],
|
|
dataOS : [
|
|
{
|
|
string: navigator.platform,
|
|
subString: "Win",
|
|
identity: "Windows"
|
|
},
|
|
{
|
|
string: navigator.platform,
|
|
subString: "Mac",
|
|
identity: "Mac"
|
|
},
|
|
{
|
|
string: navigator.platform,
|
|
subString: "Linux",
|
|
identity: "Linux"
|
|
}
|
|
]
|
|
|
|
};
|
|
BrowserDetect.init();
|
|
|
|
Behaviour.register({
|
|
'#all' : {
|
|
initialise: function() {
|
|
if( BrowserDetect.browser == "Firefox" /*&& BrowserDetect.version >= 1.5*/ ||
|
|
(BrowserDetect.browser == "Explorer" && BrowserDetect.version >= 6) ||
|
|
(BrowserDetect.browser == "Mozilla" && BrowserDetect.version >= 1.2)
|
|
) {
|
|
|
|
$("noSupport").style.display = "none"
|
|
$("supported").style.display = "block"
|
|
|
|
}
|
|
|
|
//center the all holder
|
|
$("all").style.left = (document.body.offsetWidth /2) - ( $("all").offsetWidth /2) -2 + "px"
|
|
}
|
|
},
|
|
|
|
'#LoginForm_LoginForm_action_login' : {
|
|
onclick: function() {
|
|
document.body.style.backgroundColor = "white";
|
|
// Effect.Puff("all");
|
|
return true;
|
|
}
|
|
}
|
|
}) |