【问题标题】:Back button won't work when using the webbrowser使用网络浏览器时后退按钮不起作用
【发布时间】:2014-06-17 05:52:55
【问题描述】:

我已经下载了 xe6 的试用版并使用名为 webbrowser 的示例。 我想用返回按钮关闭应用程序..

这是我在示例中插入的内容

procedure TWebBrowserForm.FormKeyUp(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
  if Key = vkHardwareBack then
  begin
    SharedActivity.Finish;
  end;

这可行并关闭应用程序..但是当我单击浏览器内的链接然后按后退按钮时应用程序不会关闭..

我也试过这个http://www.fmxexpress.com/virtual-keyboard-with-twebbrowser-on-android-in-delphi-xe5-firemonkey/

【问题讨论】:

  • 这是正常行为。您的浏览器接收并保持焦点(Embarcadero 就是这样解决了将文本写入 html 页面上的编辑字段的问题)。我不确定,但请尝试将焦点移至表单上的另一个控件(可能您必须调用 TWebBrowser.SetFocus(False)),然后再次按返回。
  • 另外我想你的问题在 Delphi XE5 上是不可复制的。
  • 我试图专注于另一个控件,但没有运气..后退按钮不起作用..如果您在 xe5 或 xe6 中尝试来自 Embarcadero 的示例并处理hardwareback键..您会看到单击网络浏览器中的几个链接时不会触发该键..
  • 我认为 EMB 应该修复这个错误。
  • 我认为另一个错误是。当您键入 www.google.com 然后搜索例如汽车并尝试单击链接时。你会得到一个白屏

标签: delphi firemonkey delphi-xe5 delphi-xe6


【解决方案1】:

请在此写入 onKeyDown 事件

  if Key = vkHardwareBack then
  begin
    SharedActivity.Finish;
  end;

【讨论】:

  • Embarcadero 在 XE6 更新 1 中修复了这个错误
【解决方案2】:

在 Android 上,您可以改用 TMS Web 浏览器。该组件有一个 OnHardwareButtonClicked 事件,该事件检测硬件后退按钮的单击。我就是这样处理这个问题的。该组件在点击 URL 内的 URL 时非常友好。

【讨论】:

    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多