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