1 line
No EOL
2.8 KiB
JavaScript
1 line
No EOL
2.8 KiB
JavaScript
var WP_Optimize_Heartbeat_Agents={},WP_Optimize_Heartbeat=function(){function e(){!1===s&&(s=!0,u(document).on("heartbeat-send",function(e,t){for(var a in WP_Optimize_Heartbeat_Agents){var n=WP_Optimize_Heartbeat_Agents[a];n.sent||("command_data"in n?(t[a]={},t[a][n.command]=n.command_data):t[a]=n.command,n.sent_time=(new Date).getTime(),n.sent=!0);var i=((new Date).getTime()-n.sent_time)/1e3;i>d&&(n.sent=!1)}}),u(document).on("heartbeat-tick",function(e,t){if("object"==typeof t.callbacks)for(var n in t.callbacks)if(a(n)){var i;try{i=JSON.parse(t.callbacks[n])}catch(r){i=t.callbacks[n]}"undefined"==typeof i.result||!1!==i.result||"undefined"!=typeof i.skip_notice&&!1!==i.skip_notice?"undefined"!=typeof WP_Optimize_Heartbeat_Agents[n]&&WP_Optimize_Heartbeat_Agents[n].callback instanceof Function&&WP_Optimize_Heartbeat_Agents[n].callback(i):wp_optimize.notices.show_notice(i.error_code,i.error_message),"undefined"!=typeof WP_Optimize_Heartbeat_Agents[n]&&delete WP_Optimize_Heartbeat_Agents[n]}}),n()?_=WP_Optimize_Heartbeat_Fallback():wp.heartbeat.disableSuspend())}function t(e){for(;agent_id=e.shift();)c(agent_id)}function a(e){return 0===e.indexOf("wpo-heartbeat-")}function n(){return"undefined"==typeof wp.heartbeat}function i(e,t){var a=e.command===t.command,n=e.command_data&&e.command_data.subaction?e.command_data.subaction:void 0,i=t.command_data&&t.command_data.subaction?t.command_data.subaction:void 0,r=n===i,o=!1===e.sent;return a&&r&&o}function r(e){var t=Object.values(WP_Optimize_Heartbeat_Agents).some(function(t){return i(t,e)});if(t&&("undefined"==typeof e._unique||1==e._unique))return null;var a="wpo-heartbeat-"+m();return e.sent=!1,WP_Optimize_Heartbeat_Agents[a]=e,"undefined"!=typeof e._wait&&!1===e._wait&&o(),a}function o(){n()?_.do_heartbeat():setTimeout(function(){wp.heartbeat.connectNow()},50)}function c(e){var t=WP_Optimize_Heartbeat_Agents[e];"undefined"!=typeof t&&"undefined"!=typeof t._keep&&0==t._keep&&delete WP_Optimize_Heartbeat_Agents[e]}var _,u=jQuery,d=60,s=!1,m=function(){var e=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()};return{setup:e,add_agent:r,cancel_agents:t,cancel_agent:c}},WP_Optimize_Heartbeat_Fallback=function(){function e(n){n="undefined"==typeof n?a.interval:n;var i=Object.assign({},a),r={};jQuery(document).trigger("heartbeat-send",r),i.data=r,jQuery.ajax({type:"post",dataType:"json",url:wpo_heartbeat_ajax.ajaxurl,data:i,success:function(e){"undefined"!=typeof e.callbacks&&jQuery(document).trigger("heartbeat-tick",e)}}),t&&clearTimeout(t),t=setTimeout(e,1e3*n,n)}var t,a={data:{},interval:wpo_heartbeat_ajax.interval,_nonce:wpo_heartbeat_ajax.nonce,action:"heartbeat",screen_id:window.pagenow,has_focus:!1};return t=setTimeout(e,1e3*a.interval,a.interval),{do_heartbeat:e}}; |