Я получил этот код:JavaScript Ошибка на IPad
function zeroPad(num, places) {
var zero = places - num.toString().length + 1;
return Array(+(zero > 0 && zero)).join("0") + num;
}
result = "String begin ...." + zeroPad(o.m,2) + "Month" + ... + "String end ....";
И на всех браузерах/Systems это работает отлично. Это показывает, что-то вроде:
06 месяцев 26 дней 09 часов
Но на Ipad1 с прошивкой 4.3.2 с Safari показывает:
NaN месяцев NaN дней NaN часов
(не число)
Что не так с этими яблочными продуктами, где ошибка?
// Редактировать (для DCoder):
Это код, который генерирует всю строку. Я не думаю, что это помогает.
h = '<span class="f_normal"><span class="f_bold">' + zeroPad(o.m,2) + '</span> Month' + (o.m == 1 ? '': 's')+ ' <span class="f_bold">' + zeroPad(o.d,2) + '</span> Day' + (o.d == 1 ? '': 's') + ' <span class="f_bold">' + zeroPad(o.h, 2) + '</span> Hour' + (o.h == 1 ? '': 's') + '</span>';
Настоящий вопрос, который я ищу, это ошибка появляется только на iPad ?!
Можете ли вы показать код, который генерирует «06 месяцев 26 дней 09 часов» линии? Пробовали ли вы эту функцию использовать с жестко закодированными данными (например, что возвращает 'zeroPad (5, 2)')? Если это работает правильно, вам нужно посмотреть, как рассчитываются 'o.m',' o.h', 'o.d'. – DCoder