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

发布于 2024-08-05 02:55:40 字数 634 浏览 6 评论 0原文

我正在尝试使用我已经为该应用程序的桌面版本编写的 jQuery 代码构建一个 mobile-safari/iphone web 应用程序。我遇到的问题是,当我的手机在网络应用程序运行时进入睡眠状态时,当我唤醒它(滑动到倒霉)时,JavaScript 事件处理程序将不再起作用。在这种情况下,这意味着当我单击用于通过 onclick 事件执行 AJAX 更新的链接时,它实际上会通过在新的 Safari 窗口中打开页面来跟踪该链接,从而破坏了本机 iPhone 应用程序的外观。

停止工作的代码:

$(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 );
});

当代码工作时,链接的结果将在网络应用程序框架中打开,当它中断时,代码将在新的 safari 窗口中打开,从而破坏实际应用程序的外观。

I'm trying to build a mobile-safari/iphone web-app using jQuery code I already wrote for the desktop version of the app. The problem I'm having is that when my phone goes to sleep with the web-app running, when I wake it up (slide to unluck) the JavaScript event handlers no longer function. In this case meaning when I click on a link that used to perform an AJAX update via an onclick event it actually follows the link by opening the page in a new Safari window, breaking the appearance of the native iPhone app.

The code that stops working:

$(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 );
});

When the code works the result of the link will open in the web-app frame, when it breaks, the code will open in a new safari window, breaking the look of an actual app.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

权谋诡计 2024-08-12 02:55:40

未测试 - 但将“return false”添加到 ajaxClick 函数的末尾以便链接不会激活是否有帮助。

Not tested - but would it help to add 'return false' to the end of the ajaxClick function so that the link does not activate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文