Firemonkey TWebBrowser input alternative?

我的未来我决定 提交于 2019-12-06 03:32:38

问题


As Embarcadero said :

"WebBrowser Does Not Accept Keyboard Input on Android

On Android devices, the on-screen keyboard is not available in a TWebBrowser control. This means that a user cannot complete a web form, for example. The TWebBrowser control should be used for displaying information or documents. User interaction should be performed with FireMonkey controls."

Link

This is very annoying if we have to use Clouds identification pages like Dropbox or Google Drive.

Using Delphi XE5 with REST components, I'm able to open the login pages, but the keyboard is not functional on Android.

So how can I use FireMonkey controls to perform interactions as Embarcadero said : User interaction should be performed with FireMonkey controls. ?

EDIT :

Delphi XE 6 seems to be the only nice solution :

Updates to TWebBrowser : The web browser available on Windows (SHDocVw.TWebBrowser) has been updated to the latest version of Internet Explorer.


回答1:


The trick is give the focus to the WebBrowser component:

procedure TFormBrowserAdd.ButtonNavigateClick(Sender: TObject);
begin
  WebBrowser.CanFocus := True;
  WebBrowser.Navigate(EditUrl.Text);
  WebBrowser.SetFocus;
end;

But, after that the back key will not work correctly so you have to manage in other way. For example i have used a button on my form.




回答2:


you have to set foucs on web browser on end of loading page

procedure TfrmMain.BrowserDidFinishLoad(ASender: TObject);
begin
Browser.CanFocus := True;
Browser.SetFocus;
end;



来源:https://stackoverflow.com/questions/20898915/firemonkey-twebbrowser-input-alternative

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!