2012-05-20 136 views
0

我正在通过AJAX更新一些按钮的列表。我的功能一般工作正常,但它会在一段时间后产生白色屏幕。当我点击按钮并使用后退按钮并重复几次时,就会发生这种情况。当我使用AJAX刷新运行时提供的大约10个按钮时,点击后会崩溃。当我刷新时,假设有20个按钮,第一次按下后退按钮时会立即崩溃。 LogCat在应用程序崩溃时不会说任何内容。我试图用一个livequery调用替代button()调用,但它会在一段时间后产生相同的崩溃。点击后退按钮时,jquery按钮()会导致白屏

我正在开发一个本地应用程序。如果我在Firefox中尝试它作为一个Web应用程序,它可以正常工作而不会崩溃。

我不知道我的问题是否与可用内存有关。我正在测试三星Galaxy Ace,剩余50 MB内存和1 GB SD卡。

$(".warenkorb_class").click(function(e) { 
     e.stopImmediatePropagation(); 
     e.preventDefault(); 
     $.post("http://mydomain/backend.php",{    
      action: "warenkorb", kunden_id: $local_kunden_id }, 
      function(data) { 
     $.mobile.changePage("#warenkorb"); 
     $("#warenliste").html(data); 
      $("#warenliste").listview("refresh"); 
      $(".warenliste_button_class").button(); 
     }, "html"); 
     }); 

我是新的android开发,我一直在这个问题苦苦挣扎了一段日子,他很高兴,如果有人可以帮助我在此。

感谢和问候, 弗洛里安

编辑: 这里是创建了按钮的代码backend.php部分:

echo"<tr>"; 
echo utf8_encode("<td><a class='delete_button' href='#warenkorb' data-role='button' data-icon='delete' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='1_$bestellungen_id'>Position löschen</a></td>"); 
echo utf8_encode("<td><a class='minus_button' href='#warenkorb' data-role='button' data-icon='minus' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='2_$bestellungen_id'>eins weniger</a></td>"); 
echo"<td><a class='warenliste_button' href='#warenkorb' id='3_$bestellungen_id' data-mini='true'>$bestellungen_anzahl</a></td>"; 
echo utf8_encode("<td><a class='plus_button' href='#warenkorb' data-role='button' data-icon='plus' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='4_$bestellungen_id'>eins mehr</a></td>"); 
echo utf8_encode("<td><a class='warenliste_button' href='#warenkorb' id='5_$bestellungen_id' data-mini='true' data-inline='true'>$produkte_bezeichnung</a></td>"); 
echo "</tr>"; 

回答

0

我想看看优化代码,尝试删除类选择器,并用id选择器替换它,它不可能在选择器中更具体,即做button.warenliste_button_class。

我会对此进行排序,因为崩溃可能是由于脚本在执行时内存不足而导致的。另外结账萤火/控制台检查ANS看到发生了什么,检查长时间运行的脚本,大量的数据被张贴等

退房此链接了解更多优化建议

http://www.archer-group.com/2011/technology/jquery-javascript-optimization

没有更多像jquery正在操作的功能和数据信息我没有更多的建议。

+0

最后,事实证明,这个问题不是特定于button(),而是它 - 正如您所建议的那样 - 存在一个普遍存在的问题,在涉及多个按钮时很可能发生这种问题。我修改了我的完整代码,现在它工作正常。谢谢! – Florian