止まらないだろう」ウィンドウまたはタブがフォーカスを失って、Meteor.reconnect()
ブラウザのウィンドウまたはタブに再度フォーカスがあります。
サンプルコード:
import { $ } from 'meteor/jquery';
import { Meteor } from 'meteor/meteor';
/* @description Set right visibilitychange event and property names */
const hidden = {};
hidden.str = false;
hidden.evt = void 0;
if (typeof document.hidden !== 'undefined') {
hidden.str = 'hidden';
hidden.evt = 'visibilitychange';
} else if (typeof document.mozHidden !== 'undefined') {
hidden.str = 'mozHidden';
hidden.evt = 'mozvisibilitychange';
} else if (typeof document.msHidden !== 'undefined') {
hidden.str = 'msHidden';
hidden.evt = 'msvisibilitychange';
} else if (typeof document.webkitHidden !== 'undefined') {
hidden.str = 'webkitHidden';
hidden.evt = 'webkitvisibilitychange';
}
hidden.check =() => {
return document[hidden.str];
};
$(document).on(hidden.evt,() => {
if (hidden.check()) {
Meteor.disconnect();
} else {
Meteor.reconnect();
}
});
これは、トリックを行い、同じ文脈で、それは帯域幅を節約するためにDDPRateLimiterを言及する価値がある:http://docs.meteor.com/api/methods.html#ddpratelimiter – ApriOri