Закрытие вкладки из расширения приложения Safari - PullRequest
0 голосов
/ 25 октября 2018

Мне удивительно трудно найти способ закрыть вкладку из Расширения приложения Safari.

Я могу открыть вкладку с помощью

SFSafariApplication.getActiveWindow(completionHandler: { 
    $0?.openTab(with: url, makeActiveIfPossible: true) 
})

И все же ни возвращенный SFSafariTab,ни SFSafariWindow не имеет close() (или performClose()).

Я могу отправить дружественное сообщение на сторону JS расширения и запустить window.close();, но это ограничено вкладками, которые также были созданы с помощьюJavascript.Любые вкладки, открытые пользователем, или target="_blank" заблокированы.

Третьим вариантом является устаревший Safari JS Extension API.Мне пока не удавалось сделать эту работу, и мне кажется неприятным тратить время на такой тупик.

1 Ответ

0 голосов
/ 22 апреля 2019

Теперь в Safari 12.1 есть возможность закрыть текущую вкладку.

/// Closes this tab. If this is the last tab in its window, the window is also closed.
- (void)close SF_AVAILABLE_MAC_SAFARI(12_1);
...