Как я могу открыть новое личное окно, используя расширение Safari?

#javascript #google-chrome-extension #safari #safari-extension

#javascript #google-chrome-расширение #safari #safari-расширение

Вопрос:

Сейчас я конвертирую свое расширение Chrome в расширение Safari.

Мое расширение Chrome использует API для открытия нового частного окна, подобного этому.

 chrome.windows.create({"url": url, "incognito": true});
  

Кто-нибудь знает способ реализовать эту функциональность в расширении Safari?

Я попытался найти его, но смог найти только способ открыть обычное окно, как показано ниже. safari.application.openBrowserWindow();

Комментарии:

1. У меня нет опыта работы с Safari, но, согласно документам , вы можете установить private флаг tab на true , поэтому, я думаю, вам нужно либо изменить активную вкладку, если она существует при создании окна, либо добавить новую вкладку с установленным флагом.

2. Спасибо за совет, но в документах указано, что вкладка private является атрибутом только для чтения. Поэтому я не могу изменить значение интенсивно.

Ответ №1:

Начиная с Safari 10.0 и macOS 10.12, для этого нет общедоступного API.

Для расширений Safari, написанных на Javascript, private атрибут SafariBrowserTab доступен только для чтения.

Для расширений приложений Safari (новых в Safari 10) usesPrivateBrowsing свойство SFSafariPageProperties также доступно только для чтения.

Любое из вышеперечисленных действий можно использовать только для запроса состояния приватного просмотра вкладки.

И соответствующие методы open window и open tab (для расширений Safari JS и расширений приложений Safari) в настоящее время также не предоставляют возможности настройки режима частного просмотра.

Комментарии:

1. Большое вам спасибо! Теперь я отказываюсь от попыток открыть частное окно в моем расширении Safari.