PHP和JQuery应用程序崩溃IE

时间:2013-01-03 00:59:02

标签: jquery jquery-ui internet-explorer

我已经在这个PHP CPU和RAM监视器上工作了一段时间 - http://nereus.rikkuness.net/php-cpu-monitor/

这一切都很有效,并做了它应该做的事情。但我使用Linux,因此没有太多能力在IE上进行测试。一些朋友说它适用于现代的一切但完全崩溃的IE。

只是想知道是否有人知道为什么会这样?

此处提供代码 - http://php-cpu-monitor.googlecode.com/files/php-cpu-monitor-1.0.tar.gz

2 个答案:

答案 0 :(得分:4)

IE在第一次加载时缓存您的AJAX调用。所以你的间隔计时器被绕过,你的UI被对replay()函数的持续调用所打击

$("#cpu").load("cpu.php?cpu=" + cpuCall , function() {

您可以添加时间戳以避免获得缓存结果:

$("#cpu").load("cpu.php?cpu=" + cpuCall + "&t=" + new Date().getTime(), function() { 

点击此链接以供参考

jQuery's .load() not working in IE - but fine in Firefox, Chrome and Safari

另一个解决方案可能是使用setTimeout()

延迟对replay()的调用
setTimeout(replay,cpuCall);

但如果我正确理解您的代码,这将要求您更改服务器端的代码(并且它不会解决IE缓存问题)

答案 1 :(得分:-1)

我看到这段代码,文字在输入标签之外,这是故意的吗?

<input id="radio01" type="radio" name="speed" value="0.1" onclick="changeSeconds(this)" />0.1
<input id="radio05" type="radio" name="speed" value="0.5" onclick="changeSeconds(this)" checked="checked" />0.5
<input id="radio1" type="radio" name="speed" value="1" onclick="changeSeconds(this)" />1
<input id="radio5" type="radio" name="speed" value="5" onclick="changeSeconds(this)" />5
<input id="radio10" type="radio" name="speed" value="10" onclick="changeSeconds(this)" />10