jQM / PhoneGap:当state = 1 bug时导航开始了吗?

时间:2013-06-24 01:05:45

标签: jquery jquery-mobile cordova

我已经克服了一个令人沮丧的问题,jQuery Mobile只会遇到另一个问题。这是故事: 我正在使用$ .mobile.changePage(),如下所示:

<script type="text/javascript">
$(document).on('click', '#submitroll', function(e) {
    e.preventDefault();
    var dieRoll = $("#dieresult").val();

    $.mobile.changePage('valueresult.html', {
        data: {
                arg1: dieRoll
        }
    });
});
</script>

当我点击按钮(#submitroll)时,它不会转换到valueresult.html页面(它与原始页面位于同一目录中)。相反,控制台输出会产生以下错误:

  

无法加载包含错误的网页:CDVWebViewDelegate:当状态= 1时启动导航

我搜索了这个错误并发现了很多结果,其中大部分是指PhoneGap 2.7中的错误。我碰巧正在运行PhoneGap 2.8.1,所以我想/希望这是问题所在。我注意到PhoneGap 2.9rc1可用(根据发行说明,它包含对该特定错误的修复),所以我安装2.9rc1只是为了看看它是否能解决这个问题......但事实并非如此。

但在我告知PhoneGap人员之前,我想排除我做错事的可能性。

我正在运行jQuery 1.10.1和jQuery Mobile 1.3.1,目前正在iOS 6.1上构建/测试。如果有人对如何进行有任何建议,那将是很好的。提前谢谢!

9 个答案:

答案 0 :(得分:3)

对每个人的兴趣!也许出现此错误的唯一原因是,因为新加载的页面可能会产生一些javascript错误!

答案 1 :(得分:1)

目前这似乎是PhoneGap中的一个错误。见https://issues.apache.org/jira/browse/CB-3530

答案 2 :(得分:0)

我相信我找到了一个解决方法。如果可以的话,尝试再增加2个页面,第一个页面将使用data-ajax =“false”链接到第二页,如

<a href="your-second-page/index.html" data-ajax="false">Middle step ></a>

...然后您将在第二页上看到正常链接

<a href="your-current-page-with-your-form/index.html" data-ajax="true">Your current form page ></a>

希望这是有道理的。

答案 3 :(得分:0)

我的情况我在使用Beta Xcode时遇到了完全相同的问题(版本6.3(6D543q))

对于稳定的&#39; Xcode应用程序工作正常。

答案 4 :(得分:0)

对我来说问题只是在真实页面为Newpage.html

时使用jQuery.mobile.changePage('new page.html')引起的。

因此,请检查您的大小写,特别是如果您在PC上进行开发但部署到iOS。

答案 5 :(得分:0)

这通常意味着它是一个糟糕的网址。检查链接。

答案 6 :(得分:0)

我知道这是一个老问题,但没有明显的解决方案。

对我来说有以下错误:

Failed to load webpage with error: CDVWebViewDelegate: Navigation started when state=1

导致cordova / phonegap应用程序在iOS上“闪屏,不执行操作”,通过更改解决了

<a href="#" ...>

<a ...>

即。删除href="#" - 标记中的<a>部分。

答案 7 :(得分:0)

对我来说,这是一个安全问题,因为我在应用中运行了内联javascript。从index.html中注释掉以下内容:

   <!-- 
     <meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
 -->

答案 8 :(得分:-3)

我有一个使用自定义代码开发的salesforce应用程序,在我的场景中我使用ipad使用salesforce1 mobile访问应用程序,在visuval force组件中我有一个链接,使用下面的代码填充Java脚本对话框。它正在工作在浏览器中很好,这里我们限制显示文本长度是8个字符,它在上周工作正常的浏览器工作正常在Ipad,上周以后我在事件日志中看到下面的消息

2017/04/20 18:41:47.331 Chatter [1312:1b257]错误com.salesforce.salesforce1.auraintegration:WKWebView导航失败。 当前网址: 错误:错误域= SFWKWebViewDelegate代码= 1&#34;导航在state = 1&#34; UserInfo = {NSLocalizedDescription =当状态= 1时启动导航}。 2017/04/20 18:41:47.331 Chatter [1312:18d77] ERROR com.salesforce.salesforce1.auraintegration:[aura integration] - ,root app initialized:1,无法加载触摸组件:1,导航状态= 1 2017/04/20 18:41:47.331 Chatter [1312:1b257] ERROR com.salesforce.salesforce1.auraintegration:[aura integration] - 遇到错误:当state = 1时导航开始 2017/04/20 18:41:57.555 Chatter [1312:84c3] INFO com.salesforce:提交动作GET /services/data/v32.0/connect/notifications

下面是我的视觉力页面代码

<a href="#"
   class="classname" 
   id="add_link_{!mergefield}" 
   onclick="JavaScript function"
   html-data-profile="{!mergefield}"
   html-data-market="{!mergefield}"
   html-data-lob="{!mergefield}"                                                        
   html-data-product="{!mergefield}"
   html-data-brand="{!mergefield}"
>
  <apex:outputText rendered="{!mergefield}">
    Change
  </apex:outputText>
</a>