我想做的事情似乎很简单,但我找不到任何参考。我只想制作我的Twebbrowser(或任何嵌入式浏览器或合适的组件 - 为了参数我只使用Twebbrowser作为我需要的任何组件的指示器 - 未知的未知数)默认值。情况是,当我尝试访问Dropbox时,它会弹出一个带有 userID / Password 的网页,然后会弹出一个带有 allow 按钮的网页。
我只是希望这些网页出现在我的Twebbrowser中,而不是显示用户默认浏览器的实例(即我的情况下为chrome)。当我解决这两个页面时,我只想将默认浏览器设置回原来的状态。看似简单,但我不知道如何实现这一点。回顾一下:
关键是我没有向Twebbrowser组件提供URL,系统生成的活动完全超出了我的控制范围,并且基于是否满足特定条件(我无法知道这些是否已经满足,例如,可能有会话ID和密钥,但这些可能已过期)。我在网上搜索过,找不到任何可能的东西。我不是专家,但我会想到像......这样的属性...这将是有用的。这可能是非常简单的事情,但我无法弄清楚。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您有两种选择:
第一个生命周期很短,因为浏览器可以检查它们是否仍然是默认浏览器。如果用户启动其常规浏览器,则会显示一条消息,表明它们不再是默认浏览器,并要求用户更改此权限。然后你的申请将不再是默认申请。
第二个显然是一个非常糟糕的主意,因为这样做,您的应用程序将不得不修改Dropbox客户端应用程序。
请注意,相关Dropbox documentation中的第一句话是:
永远不要处理用户登录名和密码信息。
核心API最佳做法,第一部分:用户授权
添加:请注意Dropbox authentication使用默认浏览器的原因是:浏览器不仅显示登录表单,还允许用户查看TLS(传输层安全性,也称为SSL)证书。 TWebbbrowser是否可以直接访问此信息,以便用户可以确保您的应用程序不会捕获和滥用输入的凭据?