微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Delphi Intraweb:有没有办法在没有弹出行为的情况下在新标签页中打开 url?

如何解决Delphi Intraweb:有没有办法在没有弹出行为的情况下在新标签页中打开 url?

在 Intraweb(用于 Web 的 VCL)移动 Web 应用程序中,我需要将用户重定向到 Java Web 应用程序。我指定它是一个 Java 网络应用程序,以强调它与内部网络网络应用程序相比完全不同的事实。

我想实现以下行为:

  1. 用户点击按钮
  2. Java 应用程序在浏览器中打开并使用它,特别是他使用移动键盘输入数据
  3. 用户点击手机返回按钮
  4. intraweb 应用程序在浏览器中打开

据我所知,在 Intraweb 中,有两种方法可以重定向用户

方法 1) 使用 WebApplication.GoToUrl(javaAppUrl) 这样,历史记录就会丢失,因此当用户点击返回时,他将无法返回到 Intraweb 应用程序

方法 2) 使用 WebApplication.NewWindow(javaAppUrl) 以这种方式,所有似乎都特别有效,后退按钮有效,但是当我尝试使用移动键盘在 Java 应用程序中输入内容时,键盘会出现片刻然后立即消失,我想这是因为不知何故 NewWindow “在浏览器上下文中执行时创建一个新的弹出窗口。

NewWindow 也有一些具有不同参数列表的覆盖方法,但没有人允许删除“弹出行为”。

您能否提出一种在移动浏览器中打开新网络应用的方法

  1. 保留浏览器历史记录
  2. 能够在刚刚打开的应用程序中使用移动键盘 ?

我使用 Delphi 10 Seattle、Intraweb 14.2.7 和 cgdevtools 来处理移动部分(无论如何,cgdevtools 在这个问题上没有任何作用)。

谢谢。

解决方法

我通过传入 webapp URL 的 URL 实现了一种解决方法,以便在 java URL 中显示一个按钮来关闭会话并将用户重定向到内部 webapp

javaAppUrl:= javaAppUrl + '&BACK_URL=' + WebApplication.FullApplicationURL(WebApplication.Request);
WebApplication.GoToUrl(javaAppUrl); 

通过这种方式,我获得了 GoToUrl 的好处(因此移动键盘可以使用),并且我设法通过自定义按钮获得了返回功能。

顺便说一下,这仍然是一种解决方法,我需要它,因为我必须发布应用程序,但这还不是完美的解决方案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?