我可以将Javascript代码注入Chrome自定义选项卡吗
Can I inject Javascript code into Chrome Custom Tabs
在我的应用程序中,我目前正在使用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);
它在desktop
和mobile
中的浏览器行为
我还没有在WebView.loadUrl
中尝试过,实际上,如果由WebView.loadUrl
完成,它将是一个安全漏洞
应该没有办法将Javascript
注入Chrome浏览器。如果您可以通过一些第三方应用程序执行对chrome的Javascript查询,从而可以读取所有cookie,清除每个会话,以及Javascript能够执行的任何操作。这确实是一个巨大的安全漏洞。
您可以做的是在webview中加载URL
并在那里执行java脚本。这是我唯一听说过的可能。这与EPUB
文档使用的技术相同,我们在webview中加载完整的HTML内容,然后在该视图中执行外部Javascript
查询,这样您就可以修改HTML、CSS属性。
- 使用自定义选项从控制台运行JSlint
- 在 magento 中使用多个价格,但在更改自定义选项时不会更新
- Magento自定义选项-清除输入字段问题
- Appcelerator 中的自定义选项卡栏 - 如何返回到根窗口
- 自定义选项卡在单击时跳到顶部
- 使用 JavaScript 初始化 bootstrap-markdown 并自定义选项
- 自定义选项更新 Magento 产品图像
- 自定义选项值取决于屏幕尺寸
- 将产品自定义选项值保存到 js 文件
- 如何使用引导组合框创建自定义选项
- 我可以将Javascript代码注入Chrome自定义选项卡吗
- 使用JS逻辑从自定义选项构建URL链接
- 如何将自定义选项添加到ng选项输出中
- 如何创建带有自定义选项输入的选择下拉列表
- Facebook js-sdk添加选项卡对话框,是否有一种方法可以让用户键入自定义选项卡名称
- 如何在Wordpress中自定义选项卡
- 是否可以使用一些自定义选项调用$('form').validationEngine('valid
- Angular Select Dropdown带有一个选项,允许用户添加自定义选项
- 需要在烬选择中添加一个自定义选项
- 现场服务计划板中的自定义选项卡