Есть ли способ отправить сообщение с глобальной страницы на определенную вкладку?
В настоящее время я делаю следующее: при создании вкладки внедренный скрипт создает уникальный идентификатор и отправляет сообщение с этим номером на глобальную страницу, а глобальная страница сохраняет этот номер.
Если глобальной странице необходимо отправить некоторые данные на вкладку (например, вкладку #3
), то глобальная страница будет "транслировать" сообщение на все вкладки с номером #3
как часть данных, передаваемых на вкладки (итерация по все вкладки и отправить сообщение на каждую вкладку).
Есть ли что-нибудь вроде Chrome: (например, chrome.tabs.sendRequest(tabID, {action: 'respond', params:[channel,msg,async]});
)?
Прямо сейчас я делаю то, что на стороне внедренного сценария у каждого сценария есть слушатель, который поймает это сообщение. Если уникальный номер сценария содержимого равен номеру, отправленному глобальной страницей, то это сообщение предназначено для нее, иначе doNothing
.
Есть ли более простой и элегантный способ сделать это в Safari?