cordova-plugin-inappbrowser мешает тел: и смс:

У меня Cordova 7, и я заметил, что когда я добавляю [email protected], он разрывает ссылки tel: и sms:, которые у меня есть в моем window.open() на iOS и Android.

Вот вызов, который я делаю из JS:

window.open(`sms:1231231234}`, '_self');

Вот как у меня установлен блок доступа в config.xml:

<allow-intent href="tel:*" />
<allow-intent href="geo:*" />
<allow-intent href="mailto:*" />
<allow-intent href="sms:*" />
<allow-intent href="market:*" />
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<access origin="*" />

Вот текущие плагины, которые я использую:

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Есть идеи, как этого избежать? Все, что мне нужно, это InAppBrowser для открытия внешней веб-страницы, но мне нужны мои телефонные ссылки, чтобы продолжать работать.


person occasl    schedule 20.09.2017    source источник
comment
что произойдет, если вы window.open() URL-адрес http://?   -  person Steve W    schedule 22.09.2017
comment
С InAppBrowser это работает, как и ожидалось. Он открывает сайт в системном браузере (моя цель _system).   -  person occasl    schedule 22.09.2017
comment
звучит так, будто inappbrowser берет на себя функцию window.open(). вы никогда не устанавливали window.open = cordova.InAppBrowser.open не так ли?   -  person Steve W    schedule 22.09.2017
comment
Нет, не то чтобы я в курсе. Я не уверен, что Ionic сделал бы это для меня.   -  person occasl    schedule 22.09.2017
comment
попробуйте выполнить «удалить window.open» и посмотреть, вернется ли обычная функциональность. затем вам нужно будет использовать cordova.inAppBrowser.open() в документах, чтобы открывать внешние веб-страницы. удаление window.open() должно освободить его, чтобы вы могли использовать его для смс и телефонных ссылок. см. github.com/apache/cordova-plugin-inappbrowser   -  person Steve W    schedule 22.09.2017
comment
Это тоже не сработало. В итоге я просто использовал плагины Ionic для inappbrowser, phonedialer, sms и электронной почты. Проблема решена.   -  person occasl    schedule 23.09.2017


Ответы (2)


Прибегал к использованию этих плагинов, чтобы заставить его работать:

call-number@https://github.com/Rohfosho/CordovaCallNumberPlugin.git#7d6e87569b101a0abb3ba9259f17bfec0b1719d7
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
person occasl    schedule 22.09.2017

Вы пытались добавить их в файл конфигурации?

<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" /> 

Это помогло мне.

person Swapna Jerin    schedule 21.09.2017
comment
У меня что-то похожее выше. Добавление дополнительных намерений не помогает. - person occasl; 21.09.2017