tabSignal().emitAll('', "") // tabSignal().emit( '', "" ) //
All the code worked and if someone was subscribed to this event, he will receive the data. tabSignal().connect('', function(param, signal_name){ });
tabSignal().connect("",'', function(param, signal_name){} );
tabSignal().disconnect("", '');
function tryStartMasterTab(masterCallback, slaveCallback) { var time_id = false; var start_timer = 2000; if( window.InTryStartMasterTab !== undefined ) { console.log(" "); return InTryStartMasterTab; } console.log(" tryStartMasterTab"); InTryStartMasterTab = 0; var setAsMaster = function(){ // tabSignal().disconnect("comet_msg_connect", 'comet_msg_master_signal'); // tabSignal().emitAll('comet_msg_master_signal'); // setInterval(function() { tabSignal().emitAll('comet_msg_master_signal'); console.log(" !"); $("#consultantHolder").html(" !"); }, start_timer/8); InTryStartMasterTab = 1; if(masterCallback) { masterCallback(); } }; // , // start_timer tabSignal().connect("comet_msg_connect",'comet_msg_master_signal', function() { if(time_id !== false) // { console.log(" slave!, clearTimeout(time_id="+time_id+")"); $("#consultantHolder").html(" slave!"); clearTimeout( time_id ); time_id = setTimeout(setAsMaster, start_timer ); } if(InTryStartMasterTab === 0) { if(slaveCallback) slaveCallback(); } InTryStartMasterTab = -1; }); // , start_timer time_id = setTimeout(setAsMaster, start_timer ); }
function tryStartMasterTab(masterCallback, slaveCallback) { var time_id = false; var interval_id = false; var start_timer = 2000; if( window.InTryStartMasterTab !== undefined ) { console.log(" "); return InTryStartMasterTab; } console.log(" tryStartMasterTab"); InTryStartMasterTab = 0; var Today = new Date(); var TabId = (Today.getTime() *1000 + Today.getMilliseconds())*10000 + Math.floor( Math.random()*10000); var slaveloop = function(EventData) { if(time_id !== false) // { console.log(" slave!, clearTimeout(time_id="+time_id+")"); clearTimeout( time_id ); time_id = setTimeout(setAsMaster, start_timer ); } if(InTryStartMasterTab === 0) { if(slaveCallback) slaveCallback(); } InTryStartMasterTab = -1; }; var setAsMaster = function(){ // , TabId tabSignal().emitAll('comet_msg_new_master', TabId); time_id = setTimeout(function() { // tabSignal().disconnect("comet_msg_connect", 'comet_msg_master_signal'); // tabSignal().emitAll('comet_msg_master_signal', TabId); // interval_id = setInterval(function() { tabSignal().emitAll('comet_msg_master_signal', TabId); console.log(" !"); }, start_timer/8); InTryStartMasterTab = 1; if(masterCallback) { masterCallback(); } }, start_timer); }; // tabSignal().connect('comet_msg_new_master', function(EventTabId) { if(EventTabId == TabId) { // ventTabId == TabId . return; } if(EventTabId > TabId) { // TabId return; } // EventTabId < TabId // . . if(time_id !== false) // { console.log(" slave!, clearTimeout(time_id="+time_id+")"); clearTimeout( time_id ); time_id = setTimeout(setAsMaster, start_timer ); } if(interval_id !== false) // slave { clearTimeout( interval_id ); // , // start_timer tabSignal().connect("comet_msg_connect",'comet_msg_master_signal', slaveloop); } slaveCallback(); }); // , // start_timer tabSignal().connect("comet_msg_connect",'comet_msg_master_signal', slaveloop); // , start_timer time_id = setTimeout(setAsMaster, start_timer ); }
Source: https://habr.com/ru/post/250719/
All Articles