我可以将Javascript代码注入Chrome自定义选项卡吗

Can I inject Javascript code into Chrome Custom Tabs

本文关键字:自定义 选项 Chrome 注入 Javascript 代码 我可以      更新时间:2023-09-26

在我的应用程序中,我目前正在使用web视图来显示一些内容。然后,我使用Javascript注入为用户快速填写表单。

唯一的问题是,与Chrome自定义选项卡相比,网页浏览速度慢得令人难以置信。是否可以将Javascript代码注入这些自定义选项卡?

例如,以下是我目前使用的一些代码:

myWebView.loadUrl("javascript:document.getElementById('join_first_name').value='" + name + "';void(0); ");

否;这将是一个关键的安全漏洞。

由于自定义选项卡使用来自用户真实Chrome实例的cookie、设置和密码管理器,因此您根本无法控制它们。

Chrome禁止您执行任何操作。如果允许这样做,那么这将是一个主要的安全漏洞,因为你可以在应用程序中修改页面。

假设你有一个有facebook登录的应用程序。如果可能的话,你也可以窃取别人的登录凭据。

使用Chrome自定义选项卡,您无法对所提供的内容进行太多控制。您可能应该尝试一种替代方法,比如将名字作为URL参数传递,然后在该页面上编写一个脚本来读取参数并填写表单。

您需要使用data:text/html,作为脚本的前缀来完成此操作

在您的浏览器选项卡中尝试

data:text/html,<script>alert("hello")</script>

它会触发javascript和警报,而且你也可以从url 中用html打印一些

所以我想你只需要打开带有脚本的选项卡

 String suffix = "data:text/html,"
 String script = "<script>document.getElementById('join_first_name').value='" + name + "';</script>"
 String url = suffix + script
 myWebView.loadUrl(url);

它在desktopmobile 中的浏览器行为

我还没有在WebView.loadUrl中尝试过,实际上,如果由WebView.loadUrl完成,它将是一个安全漏洞

应该没有办法将Javascript注入Chrome浏览器。如果您可以通过一些第三方应用程序执行对chrome的Javascript查询,从而可以读取所有cookie,清除每个会话,以及Javascript能够执行的任何操作。这确实是一个巨大的安全漏洞

您可以做的是在webview中加载URL并在那里执行java脚本。这是我唯一听说过的可能。这与EPUB文档使用的技术相同,我们在webview中加载完整的HTML内容,然后在该视图中执行外部Javascript查询,这样您就可以修改HTML、CSS属性