页面加载后如何触发对 WebView 中文本输入字段的关注?
How can I trigger focus on a text input field in a WebView after page load?
我正在尝试在 Nexus Player 上的 WebView
中加载 Facebook 登录页面,即 运行。此设备输出到电视,因此没有触摸屏。
我可以毫无问题地加载登录页面,但用户无法select电子邮件和密码文本字段以输入其凭据。
在 Nexus Player 遥控器上按 up/down/left/right 会导致网页滚动,但我无法与页面本身上的任何内容进行交互。
我尝试过的事情:
WebView.requestFocus()
页面加载后(从这里开始:)
- 在页面加载后模拟触摸输入(来自此处:)
- 正在将鼠标连接到 Nexus Player 上的 USB 端口。这行得通,我能够成功登录,但我不能指望我的应用程序的最终用户也能这样做。
解决方案是在 onPageFinished()
中的 WebView
上执行以下 javascript:
webView.loadUrl("javascript:document.getElementsByName('email')[0].focus();");
显然这只适用于 Facebook 登录屏幕,因为它们有一个名为 'email'.
的文本字段
我正在尝试在 Nexus Player 上的 WebView
中加载 Facebook 登录页面,即 运行。此设备输出到电视,因此没有触摸屏。
我可以毫无问题地加载登录页面,但用户无法select电子邮件和密码文本字段以输入其凭据。
在 Nexus Player 遥控器上按 up/down/left/right 会导致网页滚动,但我无法与页面本身上的任何内容进行交互。
我尝试过的事情:
WebView.requestFocus()
页面加载后(从这里开始:)- 在页面加载后模拟触摸输入(来自此处:)
- 正在将鼠标连接到 Nexus Player 上的 USB 端口。这行得通,我能够成功登录,但我不能指望我的应用程序的最终用户也能这样做。
解决方案是在 onPageFinished()
中的 WebView
上执行以下 javascript:
webView.loadUrl("javascript:document.getElementsByName('email')[0].focus();");
显然这只适用于 Facebook 登录屏幕,因为它们有一个名为 'email'.
的文本字段