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

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

感谢您的帮助。

【问题讨论】:

    标签: html ios angularjs cordova ionic


    【解决方案1】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-07
        • 2023-03-27
        • 2015-12-29
        • 2022-11-03
        • 2021-05-18
        • 2021-08-24
        • 1970-01-01
        相关资源
        最近更新 更多