Как динамически запретить / разрешить навигацию жестом смахивания в WKWebView на Cordova?

1

Я заметил, что плагин cordova-plugin-wkwebkit-engine имеет предпочтение AllowBackForwardNavigationGestures. Тем не менее, есть некоторые состояния приложения, в которых я хочу предотвратить навигацию по swipe и некоторое состояние, где я хочу это разрешить.

Я заметил, что есть функция updateWithInfo которая будет вызывать updateSettings, поэтому я думаю, что средства для этого все на месте, но я не уверен, как вызвать эту функцию из земли JavaScript с настройками, которые я хочу.

Можно ли динамически изменять эти настройки? Если нет, есть ли какой-нибудь код, который я мог бы добавить в этот плагин, который позволит мне динамически изменять эти параметры из JavaScript?

Спасибо

Теги:
cordova

1 ответ

1
Лучший ответ

Настройки устанавливаются только при запуске приложения, поэтому вы не можете повторно использовать функции updateWithInfo и updateSettings.

Вам нужно будет создать новый плагин, который позволит вам установить wkWebView.allowsBackForwardNavigationGestures со значением, которое вы хотите (ДА или НЕТ)

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

Из плагина вы можете получить WKWebView downcasting webview (это UIView) следующим образом:

WKWebView * myWKWebView = (WKWebView *)self.webView;

Затем вы можете установить allowsBackForwardNavigationGestures в YES

myWKWebView.allowsBackForwardNavigationGestures = YES;

  • 0
    Спасибо! Это полностью помогло мне начать - тогда я просто скопировал код из cordova-keyboard-plugin .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню