Проблема с:
Math.floor((Date.parse('2012-02-15') - new Date().getTime())/1000)
Возвращает NaN (не число) в Safari.
Попробуйте использовать:
countdown(Math.floor((Date.parse('Feb 15, 2012') - new Date().getTime())/1000));
Кроме того, вы можете попробовать что-то вроде:
countdown(Math.floor((new Date(2012, 1, 15, 0, 0, 0, 0).getTime() - new Date().getTime())/1000));
В будущем вы можете отлаживать подобные вещи, размещая сообщения отладки / оповещения / консоли по всему коду. Вы бы увидели, что ваше отладочное сообщение в countDown
не появилось для Safari, и тогда вы бы смогли сделать вывод, что countDown
не был вызван. Оттуда вы можете посмотреть код, который вызывает countDown
в первый раз. Глядя на это, вы можете задаться вопросом, был ли аргумент countDown
неверным, поэтому, возможно, вы попытаетесь распечатать это. В Safari вы видите NaN, поэтому вы распечатываете каждую отдельную деталь, пока не увидите проблему. Оттуда вам может показаться, что ему не понравился Date.parse (), поэтому, возможно, вы прочитали бы Date.parse (), чтобы увидеть, правильно ли вы вводите данные.