ActiveCable received выполняется сразу в нескольких открытых вкладках. Как выполнять js код только в одной вкладке или новой?
В Rails я использую ActiveCable. Как только поступает запрос в контроллер, тот сразу делает ActionCable.server.broadcast, в то время как JS проверяет
App.cable.subscriptions.create('Channel', {
received: function(data) {
$.get(`URL`);
}}
Так вот после запроса эта функция срабатывает для всех открытых вкладок текущего rails-servera, $.get() вызывает для меня модальное окно, но я хочу выводить это модальное окно только в одной вкладке (в новой или последней с переходом на нее). Я пытался проверять вкладку скрыта она или нет вот так
if (!window.hidden){
$.get(`URL`);
} else {
window.open("http://localhost:3000");
}
Однако после этого мой subscription стал странно себя вести, то модальное окно не выведется в активной вкладке то вместо одной новой откроется несколько новых вкладок, это связано с тем что мой js выполняется для всего rails приложения. Может кто знает как правильно настроить открытие модального окна в данном случае только для 1 вкладки?