如何在iOS端Cordova InAppBrowser中隐藏加载spinner
解决iOS端InAppBrowser加载spinner隐藏问题
嘿,这个问题我之前帮同事处理过,刚好能给你捋清楚可行的方案!
首先明确:目前Cordova(或Capacitor)的InAppBrowser官方插件,并没有专门的配置项可以单独隐藏iOS端的加载spinner,但有两种方式能解决你的需求:
1. 快速方案:隐藏地址栏(连带spinner)
如果你的业务场景可以接受隐藏地址栏,那直接在打开InAppBrowser时添加location=no的配置选项即可,这会同时隐藏地址栏和加载时的spinner。
示例代码:
// 打开InAppBrowser时传入配置 const browser = window.open('https://your-target-url.com', '_blank', 'location=no');
这种方式不需要修改任何原生代码,是最快捷的解决办法。
2. 进阶方案:保留Toolbar但单独隐藏spinner
如果需要保留Toolbar的其他功能(比如返回按钮),那就得修改InAppBrowser的iOS原生代码了:
- 找到插件的iOS源码文件
CDVInAppBrowser.m(通常在项目的plugins/cordova-plugin-inappbrowser/src/ios/目录下) - 定位到
- (void)webViewDidStartLoad:(UIWebView*)theWebView方法,找到里面启动spinner的代码:if (self.locationBar) { [self.spinner startAnimating]; } - 注释掉或删除这行代码,重新编译iOS项目即可。
这样修改后,Toolbar的其他功能保留,加载页面时的spinner就不会再显示了。
另外如果你用的是Ionic Capacitor,思路也是类似的:要么通过location: false的配置隐藏地址栏,要么修改Capacitor InAppBrowser的iOS原生代码来移除spinner的显示逻辑。
内容的提问来源于stack exchange,提问作者Tomáš Neděla
相关产品推荐
相关产品推荐

