Firemonkey TWebBrowser вход альтернатива?
Как сказал Эмбаркадеро:
"Веб-браузер не принимает ввод с клавиатуры на Android
На устройствах Android экранная клавиатура недоступна в элементе управления TWebBrowser. Это означает, что пользователь не может заполнить веб-форму, например. Элемент управления TWebBrowser должен использоваться для отображения информации или документов. Взаимодействие с пользователем должно осуществляться с помощью элементов управления FireMonkey."
Это очень раздражает, если нам приходится использовать страницы идентификации Clouds, такие как Dropbox или Google Drive.
Используя Delphi XE5 с компонентами REST, я могу открыть страницы входа в систему, но клавиатура на Android не работает.
Итак, как я могу использовать элементы управления FireMonkey для выполнения взаимодействий, как сказал Embarcadero: взаимодействие с пользователем должно осуществляться с элементами управления FireMonkey.?
РЕДАКТИРОВАТЬ:
Delphi XE 6 кажется единственным хорошим решением:
Обновления для TWebBrowser: веб-браузер, доступный в Windows (SHDocVw.TWebBrowser), обновлен до последней версии Internet Explorer.
2 ответа
Хитрость заключается в том, чтобы придать фокус компоненту WebBrowser:
procedure TFormBrowserAdd.ButtonNavigateClick(Sender: TObject);
begin
WebBrowser.CanFocus := True;
WebBrowser.Navigate(EditUrl.Text);
WebBrowser.SetFocus;
end;
Но после этого клавиша "Назад" не будет работать правильно, поэтому вам придется управлять другим способом. Например, я использовал кнопку в моей форме.
Вы должны установить foucs в веб-браузере в конце страницы загрузки
procedure TfrmMain.BrowserDidFinishLoad(ASender: TObject);
begin
Browser.CanFocus := True;
Browser.SetFocus;
end;