1

我们刚刚拿到了三星 Galaxy S4 来测试我们的移动网站(运行最新的 Touch-Wiz Android 4.2.2 - build JDQ39)。

我们立即注意到我们网站中的一些主要问题。经过一番调查,我发现这似乎是由于window.setInterval(fn, repeatInterval)没有重复,并且只调用了一次传递的函数。

请注意,我们使用 可能没有问题setInterval,因为我们的代码适用于我们所有其他设备(批次)、同一设备上的 chrome 浏览器以及桌面浏览器。

我已经搜索过,但找不到任何提及此问题的内容。在我看来,这样一个重大错误不会产生更多噪音,这对我来说似乎很奇怪。

我的问题是:有没有其他人看到这个问题?它是 4.2.2 上的默认浏览器,还是 Touch-Wiz 特有的问题?你找到一个优雅的解决方法了吗?

我想出了一个使用自我延续的解决方法,setTimeout(s)但这有点讨厌,我宁愿不必那样做。

4

1 回答 1

2

事实证明,这根本不是setInterval的错。奇怪的是,eval.call(window, 'some js');似乎阻止了所有时间间隔在这个特定的浏览器上工作。真不明白怎么办。这是我们见过的唯一一部手机——它不会出现在 S3(Android 4.2.1)的普通浏览器上。

PS 我们这样做的唯一原因eval.call是允许制作用于document.write在单页动态加载应用程序中添加脚本的横幅广告。我宁愿它不在那里。

于 2013-07-24T13:56:07.663 回答