- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
window.checkPluginVersion = function(id, version) {
if (!(plugin(id) && plugin(id).valid)) return false;
var plugin_version = plugin(id).version.split('.');
var portal_version = version.split('.');
if (isNaN(parseInt(plugin_version[0]))) return false;
if (isNaN(parseInt(plugin_version[1]))) return false;
if (isNaN(parseInt(plugin_version[2]))) return false;
if (isNaN(parseInt(portal_version[0]))) return false;
if (isNaN(parseInt(portal_version[1]))) return false;
if (isNaN(parseInt(portal_version[2]))) return false;
if (parseInt(plugin_version[0]) > parseInt(portal_version[0])) return true;
if (parseInt(plugin_version[0]) < parseInt(portal_version[0])) return false;
if (parseInt(plugin_version[1]) > parseInt(portal_version[1])) return true;
if (parseInt(plugin_version[1]) < parseInt(portal_version[1])) return false;
if (parseInt(plugin_version[2]) > parseInt(portal_version[2])) return true;
if (parseInt(plugin_version[2]) < parseInt(portal_version[2])) return false;
return true;
}
Код с Госуслуг. Nuff said
minusator41 13.03.2014 15:33 # −10
3Doomer 14.03.2014 06:43 # +1
roman-kashitsyn 14.03.2014 07:14 # +3
3.14159265 30.04.2014 14:51 # +1
Я бы так не сказал, в js есть средства как для более строгой типизации так и для байтоебства.
roman-kashitsyn 30.04.2014 15:09 # 0
3.14159265 30.04.2014 16:09 # +1
http://caniuse.com/typedarrays
Важен факт поддержки сей фичи всеми нормальными браузерами.
guest 14.03.2014 12:29 # 0
guest 14.03.2014 12:36 # +1
isNull(portal_version=portal.version.exe c(/^(\d{1,4})\.(\d{1,4})\.(\d{1,4})(\..+)?$/))){ return false; }
return (plugin_version[1]=+plugin_version[1])>(portal_version[1]=+portal_version[1])||
plugin_version[1]==portal_version[1]&&(
(plugin_version[2]=+plugin_version[2])>(portal_version[2]=+portal_version[2])||
plugin_version[2]==portal_version[2]&&+plugin_version[3]>=+portal_version[3]);
guest 15.03.2014 20:38 # +1
Лолшто?
brutushafens 30.04.2014 17:33 # −4