|
76
by Alexander Sack
* reinstatiate wiki version of hybrid startpage |
1 |
<html>
|
2 |
<head>
|
|
3 |
<title></title>
|
|
4 |
||
5 |
<script><!-- |
|
6 |
||
|
78
by Alexander Sack
* remove locale detection for online startpage and use constant for |
7 |
var HOMEPAGE_ONLINE = "http://start.ubuntu.com/8.04/"; |
|
77
by Alexander Sack
* reinstantiate locale detection from useragent preference |
8 |
var HOMEPAGE_OFFLINE = "file:///usr/share/ubuntu-artwork/home/index.html" |
|
81
by Alexander Sack
* use translated offline page based on user agent locale if thats available. |
9 |
var HOMEPAGE_OFFLINE_TMPL = "/usr/share/ubuntu-artwork/home/locales/index-" |
10 |
||
11 |
var prefs = Components.classes["@mozilla.org/preferences-service;1"] |
|
12 |
.getService(Components.interfaces.nsIPrefBranch); |
|
13 |
var userAgentLocaleLocalized = |
|
14 |
prefs.getComplexValue("general.useragent.locale", |
|
15 |
Components.interfaces.nsIPrefLocalizedString); |
|
16 |
var userAgentLocale = null; |
|
17 |
if (userAgentLocaleLocalized) { |
|
18 |
userAgentLocale = userAgentLocaleLocalized.toString(); |
|
19 |
} else { |
|
20 |
userAgentLocale = prefs.getCharPref("general.useragent.locale"); |
|
21 |
}
|
|
22 |
||
23 |
function get_valid_offlinehomepage() { |
|
24 |
var canonicalLangCode = userAgentLocale.replace("-","_"); |
|
25 |
||
26 |
var preferredHomepage = HOMEPAGE_OFFLINE_TMPL + canonicalLangCode + ".html"; |
|
27 |
||
28 |
var file = Components.classes['@mozilla.org/file/local;1'] |
|
29 |
.createInstance(Components.interfaces.nsILocalFile); |
|
30 |
||
31 |
file.initWithPath(preferredHomepage); |
|
32 |
||
33 |
if (!file.exists()) |
|
34 |
return HOMEPAGE_OFFLINE; |
|
35 |
return "file://"+preferredHomepage; |
|
36 |
}
|
|
|
77
by Alexander Sack
* reinstantiate locale detection from useragent preference |
37 |
|
|
76
by Alexander Sack
* reinstatiate wiki version of hybrid startpage |
38 |
function getwebsite_async() { |
39 |
var req = new XMLHttpRequest(); |
|
|
81
by Alexander Sack
* use translated offline page based on user agent locale if thats available. |
40 |
setTimeout("window.location=\""+get_valid_offlinehomepage()+"\"", 4000); |
|
77
by Alexander Sack
* reinstantiate locale detection from useragent preference |
41 |
req.open('HEAD', HOMEPAGE_ONLINE, true); |
|
76
by Alexander Sack
* reinstatiate wiki version of hybrid startpage |
42 |
req.onreadystatechange = function (aEvt) { |
|
77
by Alexander Sack
* reinstantiate locale detection from useragent preference |
43 |
|
|
76
by Alexander Sack
* reinstatiate wiki version of hybrid startpage |
44 |
if (req.readyState > 1) { |
|
77
by Alexander Sack
* reinstantiate locale detection from useragent preference |
45 |
if(req.status == 200) |
|
78
by Alexander Sack
* remove locale detection for online startpage and use constant for |
46 |
window.location=HOMEPAGE_ONLINE; |
|
77
by Alexander Sack
* reinstantiate locale detection from useragent preference |
47 |
else
|
|
81
by Alexander Sack
* use translated offline page based on user agent locale if thats available. |
48 |
window.location=get_valid_offlinehomepage(); |
|
76
by Alexander Sack
* reinstatiate wiki version of hybrid startpage |
49 |
}
|
50 |
};
|
|
51 |
req.send(null); |
|
52 |
}
|
|
53 |
--></script> |
|
54 |
||
55 |
</head>
|
|
56 |
<body onload="getwebsite_async()"> |
|
57 |
</body>
|
|
58 |
</html>
|