#android #android-webview #webviewclient
#Android #android-webview #webviewclient
Вопрос:
Я хочу написать прокси-сервер формы в своем приложении. HTML-файл хранится локально, а код формы является
<form action="custom" method="POST" />
Мой пользовательский WebView
должен по-другому обрабатывать тег действия. Таким образом, пользовательский должен быть перенаправлен на другой URL, в зависимости от пользовательских настроек в моем приложении.
Я написал пользовательский, WebView
и где я переопределяю postUrl
, но он никогда не запускается. Я также попробовал пользовательский WebViewClient
и переопределить shouldOverrideUrlLoading
, но это также не сработало.
Какой метод я должен переопределить, чтобы изменить URL-адрес моего сообщения и CONTENT-TYPE
для моего формуляра?
Редактировать: я нашел https://code.google.com/p/android/issues/detail?id=9122 и я думаю, что никто не нашел решения этой проблемы. Это действительно плохо.
Ответ №1:
Внедрите javascript в WebView сразу после загрузки страницы и измените действие формы, используя его. Вы можете просто ввести javascript, вызвав WebView.loadUrl(«javascript:…»);
Комментарии:
1. Я не хотел
WebView
отправлять данные формы. Мое приложение должно отправлять данные, потому что я хочу обрабатывать сообщения об ошибках и т.д. в нем.2. В этом случае используйте аналогичный метод, введите javascript, но не меняйте атрибут action и вместо этого добавьте onsubmit с функцией из вашего собственного JavascriptInterface в форму. С помощью JavascriptInterface вы можете перехватить отправку формы и действовать соответствующим образом.
3. Это может быть возможным способом. Я проверю это.