1var oInfo = { 2 title: "ÐÐ¾Ð²Ð°Ñ Ð²ÐµÑÑиÑ", 3 url: "www.tentaculus.ru/tavern", 4 resume: "Ðобавлена ÑÑÑлка на генеÑаÑÐ¾Ñ Ð¸Ð¼ÐµÐ½", 5 details: "", 6 date: "23.08.2017", 7 version: "2.0.2" 8} 9 10function showMessage(oParams) { 11 if(!($("#topMessage").length > 0) && oParams) { 12 13 var sTitle = oParams.title || "ÐÑÑÑ ÑÐ²ÐµÐ¶Ð°Ñ Ð²ÐµÑÑиÑ"; 14 var sResume = oParams.resume || ""; 15 var sDetails = '<p>' + oParams.details + '</p>' || ""; 16 var sDate = '<p>' + oParams.date + '</p>' || ""; 17 var sVersion = '<p>' + oParams.version + '</p>' || ""; 18 var sURL = oParams.url || "www.tentaculus.ru"; 19 20 var sHeader = "<a href='"+sURL+"' title='ÐеÑейÑи к новой веÑÑии'>"+sTitle + " | " + sResume + "</a>"; 21 var sInfo = "<div class='dDetails'>"+sDetails + sVersion + sDate+"</div>"; 22 var oButton = "<button class='bHide'>СкÑÑÑÑ</button>"; 23 24 var oLeft = "<div class='left'>"+sHeader+sInfo+"</div>"; 25 var oRight = "<div class='right'>"+oButton+"</div>"; 26 27 $("body").prepend("<div id='topMessage' style='display: none'>"+oLeft+oRight+"</div>"); 28 } 29 $("#topMessage").slideDown(); 30} 31 32function hideMessage() { 33 $("#topMessage").slideUp(); 34 35 return new Date(); 36} 37 38function checkForUpdate(sVersion, fMessage) { 39 function formatVersion(sVer) { 40 if(sVer) { 41 return sVer = sVer.split("."); 42 } 43 return NaN; 44 } 45 46 function compareVersions(aV1, aV2) { 47 for (var i =0; i< Math.max(aV1.length, aV2.length); i++) { 48 aV1[i] = aV1[i]?aV1[i]: 0; 49 aV2[i] = aV2[i]?aV2[i]: 0; 50 51 if(aV1[i] < aV2[i]) 52 return -1; 53 if(aV1[i] > aV2[i]) 54 return 1; 55 } 56 return 0; 57 } 58 if(sVersion != oInfo.version) { 59 if(compareVersions(formatVersion(sVersion), formatVersion(oInfo.version)) < 0) { 60 // local version is outdated 61 62 if(fMessage) { 63 // it's time to show message 64 65 // show message 66 showMessage(oInfo); 67 } 68 } 69 } 70} 71 72$(document).ready(function(){ 73 $('body').on('click', "#topMessage .bHide", function(){ 74 var dMessageHidded = hideMessage(); 75 try{ 76 setConfig("dMessageHidded", dMessageHidded); 77 } catch (err) { 78 console.log("[ERROR] We can't save message hidding:"); 79 console.dir(err); 80 } 81 }); 82}) 83 84setTimeout(function(){ 85 var dMessageHidded = getConfig("dMessageHidded"); 86 if(dMessageHidded) { 87 var fMessage = (new Date() - dMessageHidded) > 20*60*60*1000; 88 } else { 89 fMessage = true; 90 } 91 var sVersion = TENTACULUS_APP_VERSION; 92 93 checkForUpdate(sVersion, fMessage); 94}, 3000);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.