var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used.
var Browser = {
Version: (userAgent.match(/.+(?:rv|it|ra|ie)[/: ]([d.]+)/) || [])[1],
Chrome: /chrome/.test(userAgent),
Safari: /webkit/.test(userAgent),
Opera: /opera/.test(userAgent),
IE: /msie/.test(userAgent) && !/opera/.test(userAgent),
Mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent),
Check: function() { alert(userAgent); }
};
if (Browser.Chrome || Browser.Mozilla) {
// A
}
else if (Browser.IE) {
// B
}
else {
// C
}
Predpokladajme teda, že v súbore HTML je takýto javascriptový kód. Môže mi niekto ukázať, ako vytlačiť výsledok tohto kódu javascript a zapísať výsledok do súboru na serveri?
Aké kódy JavaScriptu by tiež poskytli detekciu OS?
odpovede:
2 pre odpoveď č. 1Zistiť operačný systém na klientovipočítač, váš skript dokáže analyzovať hodnotu navigator.appVersion alebo navigator.userAgent. Nižšie je uvedený jednoduchý príklad skriptu, ktorý nastavuje premennú OSName tak, aby odrážala skutočný OS klienta.
var OSName = "Neznámy OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
document.write("Your OS: "+OSName);
Pokiaľ ide o zápis do súboru s js, na SO už boli také otázky, pozrite sa tu: Zápis do spisu
Aj keď z bezpečnostných dôvodov JS neumožňuje zapisovať do súboru z prehliadača.
1 pre odpoveď č. 2
JavaScript je na strane klienta. Nemôže zapisovať na server. Nemôže tiež pristupovať do súborového systému klienta z dôvodu bezpečnostných obmedzení.
Možno sa najskôr opýtajte, prečo to chcete dosiahnuť - zdá sa, že existuje lepší prístup.
0 pre odpoveď č. 3
Informácie o OS sú uložené aj v agentovi užívateľa:
Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit / 525.13 (KHTML, ako Gecko) Chrome / 0.2.149.29 Safari / 525.13
Windows NT 5.1 je Windows XP, jazyk en-US