Подтвердить что ты не робот

Кордова InAppBrowser - Как отключить URL и панель навигации?

В настоящее время я создаю приложение Aggregator для новостей, и я использую InAppBrowser для чтения статей. Теперь мои вопросы: удалить URL-адрес и панель навигации? Кроме того, могу ли я изменить текст кнопки "Готово"?

Пожалуйста, дайте мне знать...

Спасибо

enter image description here

4b9b3361

Ответ 1

Чтобы удалить URL, просто установите для параметра < местоположение "значение нет".
(На Android это удаляет кнопки "Назад/Вперед" , URL и кнопка "Готово" , а не только URL-адрес.)

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=no');

Текст кнопки "Готово" можно изменить, добавив параметр closebuttoncaption.
(На Android кнопка "Готово" - это просто X, поэтому "closebuttoncaption" не влияет.)

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'closebuttoncaption=My Button Name');

В iOS панель инструментов можно удалить, установив опцию панели инструментов нет".

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'toolbar=no');

Однако удаление панели инструментов означает, что кнопки "Назад/Вперед" И кнопка "Готово" больше не будут отображаться. Это затрудняет выход из InAppBrowser.

(Выход из InAppBrowser меньше проблем на Android, так как кнопка возврата системы предоставляет альтернативный метод выхода, если кнопка "Готово" не отображается.)

Если вы хотите сохранить кнопку "Готово" , но избавитесь от кнопок "Назад/Вперед" во ВСЕХ ваших InAppBrowsers, вы можете изменить исходный код для плагина InAppBrowser следующим образом.


Для iOS откройте следующий файл

YOURAPPNAME/platforms/ios/YOURAPPNAME/Plugins/cordova-plugin-inappbrowser/CDVInAppBrowser.m

и измените следующую строку кода на:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton, self.backButton, fixedSpaceButton, self.forwardButton]];

в

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton]];

Затем снова создайте проект с помощью командной строки.


Для Android откройте следующий файл

YOURAPPNAME/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java

и удалите следующую строку кода:

toolbar.addView(actionButtonContainer);

Чтобы удалить URL, удалите также следующую строку кода:

toolbar.addView(edittext);

Затем снова создайте проект с помощью командной строки.


Спасибо danw и Vishwani за полезные ответы. Протестировано в июле 2017 года с помощью Cordova 7.0.1, Cordova iOS 4.4.0, Cordova Android 6.2.3 и кордоны-plug-inappbrowser 1.7.1

Ответ 2

В 3.1.0 (?) вы можете скрыть панель инструментов с помощью опции "панель инструментов".

Например:

ref = window.open('http://some.page/foo/', '_blank', 'location=no,toolbar=no');

см. телефонные документы

Ответ 3

window.open('http://url/', '_blank', 'location=no,toolbar=no');

Местоположение. Установите значение "да" или "нет", чтобы включить или отключить локальную панель InAppBrowser.

панель инструментов: установите значение yes или no, чтобы включить или выключить панель инструментов для InAppBrowser (по умолчанию да). Этот шов должен быть только для ios, хотя

Найти все опции здесь

Ответ 4

Если вы хотите сохранить кнопку done/close и удалить все остальное, сохраните location = yes:

var ref = window.open('http://apache.org', '_blank', 'location=yes');

и внесите изменения в файл inappbrowser.java:

toolbar.addView(close);
close.setText("Done");

if (getShowLocationBar()) {
main.addView(toolbar);}

Удалите editText и actionButtonContainer. Надеюсь, что это поможет.

Ответ 5

Использование:

var options = {
  "location": "no", 
  "toolbar": "no"
};
$cordovaInAppBrowser.open(url, target, options);

Ответ 6

Если вы хотите полностью удалить панель инструментов, вы можете временно установить переменную HEIGHT на панели инструментов 0.0. Вы найдете его в том же файле, что и в ответе выше. Это не лучшее решение, но оно исчезает.