Как правильно отключить и повторно подключить порт времени выполнения Chrome к собственному хосту? - PullRequest
0 голосов
/ 06 мая 2020

Следуя этому вопросу SO Теперь я подключаю и отключаю порт от моего собственного хоста в зависимости от того, когда пользователь открывает или закрывает вкладку веб-сайта. Я не знаю, как повторно подключить порт.

Первоначально, когда я открывал порт только один раз;

if (typeof port !== 'undefined') return;
port = chrome.runtime.connectNative('name_to_host');

Теперь я добавил port.disconnect();, когда пользователь закрывает определенную вкладку или уходит с веб-сайта.

Тогда этот порт все еще является объектом, но находится в отключенном состоянии.

Что мне теперь с ним делать? Можно как-то "избавиться" от объекта порта или как-то переподключить?

1 Ответ

0 голосов
/ 07 мая 2020
• 1000 на основе веб-сайта. Проще говоря, хост не всегда работает, поэтому я открываю и закрываю сообщение.

В моем коде, чтобы открыть порт и, таким образом, запустить хост, у меня все еще есть

if (typeof port !== 'undefined') return;
port = chrome.runtime.connectNative('name_to_host');

Где я есть код, отправляющий сообщение, у меня есть следующее:

if (typeof port !== 'undefined') port.postMessage({...});

Когда я хочу отключить порт и, таким образом, закрыть хост, у меня есть

port.disconnect();
port = undefined;

Я понимаю, что некоторые могут не согласиться с port = undefined;, но это соответствует моему существующему коду и, похоже, работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...