您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
HWM mod - Time seconds (by Demin)
当前为
// ==UserScript== // @name hwm_time_seconds // @namespace Demin // @description HWM mod - Time seconds (by Demin) // @homepage http://userscripts.org/scripts/show/95725 // @version 2.02 // @include http://*heroeswm.*/* // @include http://178.248.235.15/* // @include http://*.lordswm.*/* // @include http://*герои.рф/?15091 // @exclude */ch_box.php* // @exclude */chatonline.php* // @exclude */chat_line.php* // @exclude */chatpost.php* // @exclude */chat.php* // @exclude */ticker.html* // ==/UserScript== // (c) 2011-2012, demin (http://www.heroeswm.ru/pl_info.php?id=15091) var version = '2.02'; var script_num = 95725; var script_name = 'HWM mod - Time seconds (by Demin)'; var string_upd = /95725=(\d+\.\d+)/; var url_cur = location.href; var url = 'http://'+location.hostname+'/'; try { if (!this.GM_getValue || (this.GM_getValue.toString && this.GM_getValue.toString().indexOf("not supported")>-1)) { this.GM_getValue=function (key,def) { return localStorage[key] || def; }; this.GM_setValue=function (key,value) { return localStorage[key]=value; }; this.GM_deleteValue=function (key) { return delete localStorage[key]; }; } if ((tag('body'))[0]) { if( !GM_getValue("hwm_time_sec_add") ) GM_setValue("hwm_time_sec_add" , '3'); var body = (tag('body'))[0].innerHTML; var string = /now (\d+)/; var time_sec_gm = 'hwm_time_sec'; var last_synch_gm = 'hwm_last_synch'; var time_error_gm = 'hwm_time_error'; var time_error2_gm = 'hwm_time_error2'; if (url.match('lordswm')) { time_sec_gm = 'com_hwm_time_sec'; last_synch_gm = 'com_hwm_last_synch'; time_error_gm = 'com_hwm_time_error'; time_error2_gm = 'com_hwm_time_error2'; } if( !GM_getValue(time_error_gm) ) GM_setValue(time_error_gm, '0'); if( !GM_getValue(time_error2_gm) ) GM_setValue(time_error2_gm, '0'); if( !GM_getValue(last_synch_gm) ) GM_setValue(last_synch_gm, '1318000000000'); var time_serv = /([^,]*)(, \d+ online.*)/; var time_top = /(\d+):(\d+), \d+ online/; var all_td = tag('td'); var td_len = all_td.length; var td_i; var td_ih; var time_sec; var online; var hm; for (var i=0; i<td_len; i++) { td_i = all_td[i]; td_ih = td_i.innerHTML; if (td_ih.indexOf("<td")!=-1) {continue;} if (td_ih.search(time_top)!=-1) { online = (time_serv.exec(td_ih))[2]; hm = time_top.exec(td_ih); td_add = document.createElement( 'td' ); td_add.setAttribute('align', 'right'); td_add.setAttribute('id', 'jsset_ts'); td_add.setAttribute('valign', 'bottom'); td_add.setAttribute('width', '60'); td_add.innerHTML=""; td_i.parentNode.insertBefore(td_add, td_i); addEvent($("jsset_ts"), "click", setting_ts); if (parseInt(GM_getValue(last_synch_gm, '0')) + 21600000 < (new Date().getTime())) { get_time(); } else if ( GM_getValue(time_sec_gm) ) { show_time(); } else { get_time(); } break; } } } } finally { update_n() } function show_time() { time_sec = parseInt(GM_getValue(time_sec_gm)); // true time ct = Math.round( ((new Date().getTime())-time_sec)/1000 ); dd = Math.floor( ct / 86400 ); dh = Math.floor( ( ct - dd * 86400 ) / 3600 ); dm = Math.floor( ( ct - dd * 86400 - dh * 3600 ) / 60 ); ds = ct % 60; if ( (dh!=hm[1]) || (dm-hm[2])>1 || hm[2]>dm ) { if ( (dh-hm[1]==1 || hm[1]-dh==23) && (hm[2]-dm==59) ) { showtop(td_i); } else { GM_setValue(time_sec_gm, ''); var err4 = parseInt(GM_getValue(time_error2_gm))+1; GM_setValue(time_error2_gm, ''+err4); //alert(hm[1]+':'+hm[2]+' - '+dh+':'+dm+':'+ds); get_time(); } } else { GM_setValue(time_error2_gm, '0'); showtop(td_i); } } function get_time() { if ( parseInt(GM_getValue(time_error_gm))<4 && parseInt(GM_getValue(time_error2_gm))<4 ) { if ( parseInt(GM_getValue(last_synch_gm, '0')) + 60000 < (new Date().getTime()) ) { GM_setValue(last_synch_gm, ''+(new Date().getTime())); var objXMLHttpReqTime = createXMLHttpReq(Math.random()* 1000000); objXMLHttpReqTime.open('GET', url + 'time.php' + '?rand=' + (Math.random()* 1000000), true); objXMLHttpReqTime.onreadystatechange = function() { handleHttpResponseTime(objXMLHttpReqTime); } objXMLHttpReqTime.send(null); } else { setTimeout(function() { get_time(); }, 60000); } } } function handleHttpResponseTime(obj) { if (obj.readyState == 4 && obj.status == 200) { if (string.exec(obj.responseText)) { var sec_serv = string.exec(obj.responseText); // 1318550400000 72000000 sec_serv = parseInt(sec_serv[1])*1000+parseInt(GM_getValue("hwm_time_sec_add"))*1000-1318622400000; if (url.match('lordswm')) { sec_serv = sec_serv-14400000 } sec_serv = (new Date().getTime())-sec_serv; GM_setValue(time_sec_gm, ''+sec_serv); GM_setValue(time_error_gm, '0'); show_time(); } else { var err3 = parseInt(GM_getValue(time_error_gm))+1; GM_setValue(time_error_gm, ''+err3); setTimeout(function() { get_time(); }, 60000); } } } function showtop(td_i) { ct = Math.round( ((new Date().getTime())-time_sec)/1000 ); dd = Math.floor( ct / 86400 ); dh = Math.floor( ( ct - dd * 86400 ) / 3600 ); dm = Math.floor( ( ct - dd * 86400 - dh * 3600 ) / 60 ); ds = ct % 60; td_i.innerHTML = dh + ':' + ( (dm < 10) ? '0' : '' ) + dm + ':' + ( (ds < 10) ? '0' : '') + ds + online; setTimeout(function() {showtop(td_i)}, 1000); } function form_close_ts() { bg = $('bgOverlay'); bgc = $('bgCenter'); if( bg ) { bg.style.display = bgc.style.display = 'none'; } } function setting_ts() { bg = $('bgOverlay'); bgc = $('bgCenter'); if( !bg ) { bg = document.createElement('div') ; bg.id = 'bgOverlay' ; document.body.appendChild( bg ); bg.style.position = 'absolute' ; bg.style.left = '0'; bg.style.width = '100%'; bg.style.background = "#000000"; bg.style.opacity = "0.5"; addEvent(bg, "click", form_close_ts); bgc = document.createElement('div') ; bgc.id = 'bgCenter' ; document.body.appendChild( bgc ); bgc.style.position = 'absolute' ; bgc.style.width = '650px'; bgc.style.background = "#F6F3EA"; bgc.style.left = ( ( document.body.offsetWidth - 650 ) / 2 ) + 'px'; } bgc.innerHTML = '<div style="border:1px solid #abc;padding:5px;margin:2px;"><div style="float:right;border:1px solid #abc;width:15px;height:15px;text-align:center;cursor:pointer;" id="bt_close_ts" title="Close">x</div><table>'+ '<tr><td>Добавлять <input id="hwm_time_add" value="'+ GM_getValue("hwm_time_sec_add")+ '" size="1" maxlength="2"> секунд(ы) на синхронизацию (время загрузки страницы с сервера) <input type="submit" id="hwm_time_add_ok" value="ok"></td></tr>'+ '<tr><td><input type="submit" id="ref48" value="Перезапустить скрипт"></td></tr>'+ '</table></div>' ; addEvent($("bt_close_ts"), "click", form_close_ts); addEvent($("hwm_time_add_ok"), "click", hwm_time_add_f); addEvent($("ref48"), "click", ref48_f); var height_v = getClientHeight_ts(); if (height_v < document.body.offsetHeight) height_v = document.body.offsetHeight; bg.style.top = (-document.body.scrollTop)+'px'; bg.style.height = ( height_v + document.body.scrollTop ) +'px'; bgc.style.top = ( document.body.scrollTop + 150 ) + 'px'; bg.style.display = bgc.style.display = 'block'; } function getClientHeight_ts() { return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight; } function hwm_time_add_f() { if (Number($("hwm_time_add").value)>=1) { GM_setValue( "hwm_time_sec_add" , '' + $("hwm_time_add").value ) } } function ref48_f() { GM_setValue(time_error_gm, '0'); GM_setValue(time_error2_gm, '0'); GM_setValue(time_sec_gm, ''); GM_setValue(last_synch_gm, ''); } function $( id ) { return document.getElementById( id ); } function tag( id ) { return document.getElementsByTagName( id ); } function addEvent(elem, evType, fn) { if (elem.addEventListener) { elem.addEventListener(evType, fn, false); } else if (elem.attachEvent) { elem.attachEvent("on" + evType, fn) } else { elem["on" + evType] = fn } } function createXMLHttpReq(rndm) { var objXMLHttpReq; if (window.XMLHttpRequest) { // Real browsers ;) // objXMLHttpReq = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE // objXMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } return objXMLHttpReq; } function update_n() { if ( (parseInt(GM_getValue('last_update', '0')) + 86400000 <= (new Date().getTime())) || (parseInt(GM_getValue('last_update', '0')) > (new Date().getTime())) ) { var objXMLHttpReqUpd = createXMLHttpReq(Math.random()* 1000000); objXMLHttpReqUpd.open('GET', url + 'photo_pl_photos.php?aid=1777' + '&rand=' + (Math.random()* 1000000), true); objXMLHttpReqUpd.onreadystatechange = function() { update(objXMLHttpReqUpd); } objXMLHttpReqUpd.send(null); } } function update(obj) { if (obj.readyState == 4 && obj.status == 200) { var update_text1 = '\n\n\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 Greasemonkey \u0441\u043A\u0440\u0438\u043F\u0442\u0430 "'; var update_text2 = '".\n\u0425\u043E\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E?'; var remote_version, rt;rt=obj.responseText;GM_setValue('last_update', ''+new Date().getTime());remote_version=string_upd.exec(rt)[1];if(version!=-1){if (remote_version > version) setTimeout(function() { if(confirm('There is an update available for the Greasemonkey script "'+script_name+'".\nWould you like to go to the install page now?'+update_text1+script_name+update_text2)){window.open('http://userscripts.org/scripts/show/'+script_num, '_blank')} }, 100) }} }