gpt4 book ai didi

jquery - iPhone jQuery 在触发电子邮件覆盖后中断

转载 作者:行者123 更新时间:2023-12-03 19:47:26 27 4
gpt4 key购买 nike

我正在使用 jQuery 为 iPhone 开发一个移动网站。我有一个隐藏的 div(类 .tile-content),其中包含一些内容。单击带有 onclick="showContent(this)" 的链接会调用 fadeIn,如下所示:

        function showContent(obj)
{
alert($(obj).html());
$(obj).next('.tile-content').fadeIn();
return false;
}

一切都很顺利,直到我点击“给我们发送电子邮件”,上面有一个 mailto: 链接,触发了 iPhone 内置的电子邮件覆盖功能。然后我点击取消并返回到该网站。现在,如果我单击链接,我的 .tile-content div 将不会显示。不过我在 iPhone 上收到了正确的警报。在我按一次之后,没有任何效果(我认为这意味着存在 js 错误?)。在实体 iPhone 上进行调试非常困难。有什么想法吗?

更新:由于下面@John Boker 的提示,我启用了 Safari Mobile 的调试控制台。没有显示错误,但我仍然遇到同样的问题。

最佳答案

问题出现在 setInterval/setTimeout javascript 函数中。当在 iPhone 上的 Safari 中启动邮件窗口时,用于这些功能的内部计时器似乎已暂停。发送电子邮件(或点击取消)后,计时器将暂停,setTimeout/setInterval 函数将不会触发。

这将破坏任何依赖于 setTimeout/setInterval 的东西,例如 jquery 动画和任何异步 ajax 调用,因为 jquery 使用 setInterval 进行轮询,直到请求返回(我自己也遇到过这个问题)。

如果您点击网址栏,然后单击“取消”或按手机上的关闭按钮并返回 Safari,则功能将启动,一切都将开始工作。这并不是一个真正可以接受的解决方法。

关于jquery - iPhone jQuery 在触发电子邮件覆盖后中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com