iPhone Web应用程序从睡眠中醒来后,JavaScript事件中断

问题描述:

我正尝试使用jQuery代码构建移动Safari/iPhone网络应用程序,我已经为应用程序的桌面版本编写了代码。我遇到的问题是,当我的手机进入睡眠状态并且运行Web应用程序时,当我将其唤醒(幻灯片解开)时,JavaScript事件处理程序不再起作用。在这种情况下,这意味着当我点击一个通过onclick事件执行AJAX更新的链接时,它实际上会通过在新的Safari窗口中打开页面来链接链接,从而打破本机iPhone应用程序的外观。iPhone Web应用程序从睡眠中醒来后,JavaScript事件中断

$(function() { 
var ajaxLoad; 
var ajaxClick = function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    $("body").load($(this).attr("href"), ajaxLoad); 
} 
ajaxLoad = function() { 
    $(this).find("a").click(ajaxClick); 
} 
$("a").bind("click", ajaxClick); 
}); 

当代码工作的链接将在web应用程序框架中打开,当它打破,代码将在一个新的Safari浏览器窗口中打开,突破的结果:

即停止工作的代码实际应用的外观。

+0

如果你会发布一些代码 - 这可能会有所帮助... – Dror 2009-09-24 06:52:36

+0

根据要求,我添加了jQuery代码的问题。 – user177843 2009-09-24 12:28:41

+0

你有没有这个运气?我遇到类似问题: http://*.com/questions/2204438/iphone-jquery-breaks-after-triggering-the-email-overlay – devth 2010-02-05 18:16:24

未经测试 - 但它是否有助于将“返回false”添加到ajaxClick函数的末尾,以便链接不会激活。