Datejs - проблема с 12:00 вечера - PullRequest
6 голосов
/ 22 июня 2011

Я действительно понятия не имею, что я делаю здесь неправильно.Я не могу заставить Datejs правильно проанализировать «12:00 pm», однако, похоже, что он отлично работает в другие даты.Ниже представлен клип от отладчика Firefox:

enter image description here

Ответы [ 2 ]

16 голосов
/ 22 июня 2011

Загрузите последнюю версию Datejs из SVN, а не версию в разделе «загрузка».

0 голосов
/ 20 февраля 2013

Попробуйте обернуть код в IIFE.

<!DOCTYPE html>
<html>
    <body>
        <input type=text id=d onkeyup="parsedate()">
        </input>
        <br>
        <span id=output></span>
        <script type="text/javascript" src="../../../static/js/date.js"></script>
        <script>
            ( function() {
                    parsedate = function() {
                        var input = document.getElementById('d').value;
                        var output = document.getElementById('output');
                        var d = Date.parse(input);
                        if (d !== null) {
                            output.innerHTML = d.toString();
                        } else {
                            output.innerHTML = "------"
                        }
                    }
                }());
        </script>
    </body>
</html>

IIFE, являющееся

(function(){
    //code
}());

Что мне интересно, так это то, почему FireFox ведет себя так. Я знаю, что они добавили обновления безопасности несколько лет назад, которые не позволяют вам перезаписывать функции Date.prototype, но почему IIFE способен получить доступ к этой области?

...