2013-05-18 222 views
0

//问题已解决// 事实证明,JQuery Ajax调用无法在某些浏览器中访问该URL。Javascript声明问题

感谢各位,为了您的快速响应,明确帮助解决了这个问题。

对不起,非特定的标题,我什至不认为应该是什么问题。

有一个JQuery插件(http://keith-wood.name/countdown.html)从特定的日期或时间倒计时。

计数器启动的结束时间可以通过两种方式定义:设置日期或设置剩余秒数。

我的项目需要第二个和基于此选项的文件上声明如下:

$('#digital_hour').countdown({until: +300}); 

通知号码前的“+”号。

它可以在任何操作系统和设备上运行,直到我用一个变量来替换数字300,该变量存储了剩下的秒数,直到服务器上一天结束。所以这个版本:

$('#digital_hour').countdown({until: +seconds_left_on_server}); 

适用于特定的浏览器,但其他浏览器不适用。勉强够它在我的Vista/Mozilla20.0组合下工作,但它不在我的Vista/IE6上,也不在我的朋友Ubuntu/Mozilla组合上。

我不是一个巨大的JavaScript崇拜者,也不是一个关于这个主题的专家,但我觉得围绕“+”号有一些东西。

任何人都可以帮忙吗?

+0

你怎么知道它不起作用? – georg

+0

正确处理它的人会像12:36:13(H:M:S)那样开始倒计时,但其他人在HOUR标记处显示一个奇怪的数字并从那里开始倒计时。小时标记处的这个奇怪的数字总是9位长而不是2位。当然也不是纪要,也不是秒。 – user1185551

+0

是的,我用几种方法尝试了括号,但都没有工作。 – user1185551

回答

0

您可以

$('#digital_hour').countdown({until: new Date(+(new Date()) + 1000 * seconds_left_on_server)}); 
+0

此解决方案在IE6上为所有(小时,分钟,秒)返回NaN。仍然在Mozilla中有效。 – user1185551

0

您是否尝试过像var seconds_left = 300一些简单的尝试,然后$('#digital_hour').countdown({until: +seconds_left});看看会发生什么?

这听起来像你的变量没有存储它应该。 “+”不应该是一个问题。

+0

是的。这样它的工作。我做了一个小工作。我写出了php和Mozilla中返回的变量,我看到一个数字:24624,但在IE6中我看到:Sat May 18 17:09:40 UTC + 0300 2013 – user1185551

+0

非常感谢您的回复,明确帮助我工作这个问题是由Ajax调用的URL引起的。由于某些原因,有时它不能到达它的位置。 – user1185551