Cordova InAppBrowser 插件允许开发人员在单击链接时打开应用程序内浏览器。在代码中,它是在监听器事件期间初始化的:
document.addEventListener("deviceready", addInAppBrowser(), false);
哪里,
document.onclick = function(e) {
(void)addInAppBrowser = () => {
window.cordova.InAppBrowser.open(link, target: "_blank", browserOptions);
}
};
browserOptions可用于修改 View 的许多方面,例如closebuttoncolor
和 工具栏。
不幸的是,这些选项都不能用于更改地址栏address.backgroundColor的颜色。
是否可以在 InAppBrowser 初始化期间或之后更改 addressLabel 的属性,而无需修改插件代码本身。
注意:为了清晰起见,代码已缩写。
最佳答案
用一些想法更新问题
我没有找到任何简单方法来实现上述请求的功能。 InAppBrowser 似乎只接受指定的选项,这些选项被解析为对象并通过代码传递。我必须解决这个问题的一些想法是:
- 使用加载后回调来修改插件。
- 使用钩子(Hook)。
这些相当复杂,考虑到他们要解决的问题,我怀疑会花费太多时间来实现。
应用程序客户希望增加 URL 与 view.backgroundColor 的对比度。他们建议采用一种可以达到所需对比度的背景颜色。由于修改背景颜色并不是那么简单,但很简单:
- fork cordova-plugin-inappbrowser并维护允许对 UI 进行精细控制的更改。该插件可能非常稳定,因此可能不会有问题。
但我相信正确的解决方案是构建一个扩展 InAppBrowser 的插件。
关于ios - Cordova iOS InAppBrowser 地址栏选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59445787/