Почему tel: * ссылки не работают на ios?


Я добавил Это в config.xml

<access origin="*"/>
<access origin="tel:*" launch-external="yes"/>
<access origin="mailto:*" launch-external="yes"/>
<allow-intent href="*"/>
<allow-navigation href="*"/>
<allow-navigation href="tel:*"/>
<allow-navigation href="mailto:*"/>
<allow-navigation href="data:*"/>
<plugin name="cordova-plugin-whitelist" version="1" />

И это проиндексировать.html:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

Когда я нажимаю на ссылку, как это: <a href="tel:+1234567">Call!</a> ничего не происходит на ios (на android это работает хорошо).

Если я изменю конфигурацию.xml to:

<access origin="//*"/>
<access origin="tel:*" launch-external="yes"/>
<access origin="mailto:*" launch-external="yes"/>
<allow-intent href="//*"/>
<allow-navigation href="//*"/>
<allow-navigation href="tel:*"/>
<allow-navigation href="mailto:*"/>
<allow-navigation href="data:*"/>
<plugin name="cordova-plugin-whitelist" version="1" />

Он вызывает, но ajax-запросы к серверу перестают работать.

1 2

1 ответ:

Просто удалите allow-navigation

<allow-navigation href="tel:*"/>
<allow-navigation href="mailto:*"/>

Я не знаю почему, но это работает!

Cordova-ios@4+wkwebview получит навигационный фильтр первым, чтобы ответить на url, и ничего не делать !!

Https://github.com/apache/cordova-plugin-wkwebview-engine/pull/20