离子转换仅在 ios 中获得白页

Posted

技术标签:

【中文标题】离子转换仅在 ios 中获得白页【英文标题】:Ionic transitions getting white page only in ios 【发布时间】:2015-11-26 21:18:24 【问题描述】:

我正在用 ionic 开发一个应用程序,它在 android、模拟器和网络(使用 ionic 服务)中运行良好。但是,当在 ios 设备中运行页面之间的转换时,它突然显示一个白色视图,而不是它必须显示的视图。这不会一直发生,我没有弄清楚具体发生的时间。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

这可能是一个 javascript 错误。要找到它,最好的方法是:

    首先通过USB将手机与你的mac(必须是mac)连接起来。 打开 Safari(无 Chrome 或 Firefox) 在 Safari 设置 -> 高级 -> 启用开发工具 现在 Safary 顶部会出现一个开发菜单,单击它,您将看到您的手机和应用程序正在运行,单击它。 在开发工具中,将出现您通常看到的使用 ionic serve 进行测试的所有控制台,但在真实设备中。 只需使用该应用程序,当您收到黑页时,请检查 safary 开发工具上的 javascript 错误。

希望对你有帮助,发现后对我有很大帮助。

【讨论】:

感谢您的帮助,我不知道这种在ios中调试的方法!!!尽管如此,这并没有解决我的问题,在控制台中出现空白页时不会出现任何错误。 html 怎么样?你检查了吗?也许它打开了一个链接并导航到一个空白页面。在注册拦截器之前点击了一个被 javascript 拦截的 ''。【参考方案2】:

最后我解决了,这是 ios 中离子转换的问题。像这样将这一行添加到 app.js 中的配置中

    .config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider)  
        $ionicConfigProvider.views.swipeBackEnabled(false);
    

通过滑动禁用所有后退导航转换。

【讨论】:

我认为这也为我解决了这个问题。非常感谢@Matias Araya!【参考方案3】:

对于我搜索的内容,可能有很多内容。帮助我弄清楚我的情况的是小提交。 无论如何,我尝试使用默认参数值,但它不适用于我在 iOS 中的 webview。如果这也是您的问题,您可以在此处查看执行默认参数值的另一种方法: Set a default parameter value for a JavaScript function

没用:

function(param = defaultValue)

确实有效:

function(param)    
  param = param ? param : defaultValue;

【讨论】:

【参考方案4】:

只需在您的 ion-view 元素上使用 can-swipe-back="false"

【讨论】:

以上是关于离子转换仅在 ios 中获得白页的主要内容,如果未能解决你的问题,请参考以下文章

如何处理离子无限重新加载ios应用程序

将React转换为React Native

使用离子管道进行数据转换

将离子应用程序转换为延迟加载

仅在地图中获得一些标记

离子本机页面转换不起作用