我已经使用 cordova-plugin-inappbrowser 插件很长时间了,当我在我的苹果测试设备上将软件更新到 10.2.1 时,插件不再正常工作。当我尝试打开 inappbrowser 链接时,除非我单击主页按钮并返回应用程序,否则不会发生任何事情。这发生在模拟器以及 ipad、iphone 5s、iphone 6 和 iphone 7 等真实设备上。它在 android 设备上运行良好,但不是最新的 iOS。
这是我尝试过的所有内容的列表:
- 将 inappbrowser 更新到最新版本 - 1.7.1
- 移除并重新安装插件和 ios 平台
- 尝试使用 inappbrowser 插件制作一个空白应用
尝试更改 index.html 元标记以包含间隙:
<meta http-equiv="Content-Security-Policy" content="default-src * 'self' gap: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' *; child-src 'self' 'unsafe-inline' *;">
我似乎找不到其他可以尝试的方法,因为我发现大多数有类似问题的帖子都没有得到答复。
下面是inappbrowser插件如何安装和使用的相关代码:
config.xml 结构
<widget>
<content src="index.html"/>
<access origin="*"/>
<allow-navigation href="*"/>
<preference/>
...
<feature name="StatusBar">
...
</feature>
<platform name="ios">
... icons and splash ...
</platform>
<plugin name="cordova-plugin-inappbrowser" spec="~1.7.1"/>
</widget>
在 Controller 中使用插件
$scope.showLink = function(url){
var options = {
location: 'yes'
}
$cordovaInAppBrowser.open(url, '_blank', options)
.then(function(event){
// success
console.log('inappbrowser', event);
})
.catch (function(event) {
// error
console.log('inappbrowser error', event);
});
};
$scope.openUrl = function(url) {
window.open(url, '_blank', 'location=no');
};
我正在使用 ionic v1.7.14 ,cordova: 6.2.0 和 xcode 8
Best Answer-推荐答案 strong>
根据 CodeGems 的建议,在评论中,将 gap://ready 添加到您的 Content-Security-Policy 应该可以解决问题。
关于ios - InAppBrowser 无法在 iOS 10.2 (Xcode 8) 中正确打开,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/44025250/
|