Javascript - открыть новую вкладку в iOS Safari, не увидев всплывающее предупреждение - PullRequest
0 голосов
/ 06 июля 2018

Я попробовал следующие подходы, но в обеих ситуациях iOS Safari будет рассматривать мою новую вкладку как всплывающее окно (я всегда вижу всплывающее предупреждение)

Подход 1.

window.open(url, "_blank");

Подход 2.

let a = document.createElement("a");
a.href = url;
a.target = "_blank";
a.click();

Ожидаемое поведение:

Новая вкладка Safari открывается без каких-либо явных разрешений для пользователя.

Фактическое поведение:

Пользователь должен нажать «Разрешить», прежде чем откроется новая вкладка

Есть ли способ программно достичь ожидаемого поведения?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018
0 голосов
/ 06 июля 2018

вы не можете форсировать новую вкладку, основанную на настройках браузера (относительно браузеров на рабочем столе)

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

блокировщик всплывающих окон всегда будет перехватывать, если пользователь не нажимал ранее XYZms по соображениям безопасности

...