Lastpass 如何知道 Chrome 中的当前 URL
Posted
技术标签:
【中文标题】Lastpass 如何知道 Chrome 中的当前 URL【英文标题】:How does Lastpass know the current URL in Chrome 【发布时间】:2016-12-28 15:04:05 【问题描述】:在 android 版 Chrome 中浏览时,如果 Lastpass 将 URL 识别为与您关联的登录详细信息,则会弹出建议。
它如何知道 Chrome 正在查看哪个 URL?我知道 Lastpass 使用了Accessibility Services,但我想知道它是如何从 Chrome 中查询当前 URL 的。
PS。显然它只适用于 Chrome(例如它不会在 Opera 中弹出),所以它可能是 Chrome 特有的。
【问题讨论】:
【参考方案1】:Android 上的 LastPass 使用 canRetrieveWindowContent
true 请求辅助功能权限。这使它可以遍历当前视图层次结构,并将视图作为 AccessibilityNodeInfo 对象访问。
Accessibility API 让您可以通过视图上显示的文本搜索节点,并为您提供每个此类视图的 java 类名称。 AccessibilityNodeInfo#findAccessibilityNodeInfosByText
该功能在 Opera 上不起作用可能是因为开发人员从未为其处理视图层次结构遍历逻辑。
查看https://developer.android.com/guide/topics/ui/accessibility/services.html
【讨论】:
【参考方案2】:我一般使用 javascript,除了 Andoid 功能,并且通过一些黑客攻击,可以获得对所有打开窗口的引用(例如获取它们的 URL)。见this answer from 2009。
【讨论】:
这是一个关于另一个应用程序(例如 Lastpass)如何知道另一个应用程序(例如 Chrome)中的当前 url 的问题。你不能使用 javascript 来做到这一点。以上是关于Lastpass 如何知道 Chrome 中的当前 URL的主要内容,如果未能解决你的问题,请参考以下文章
LastPass: Free Password Manager(密码保存)
1Password,Lastpass,Keepass,选择哪个做为密码管理器