Datejs - Problem with 12:00 pm

喜你入骨 提交于 2019-12-22 05:17:44

问题


I really have no idea what I'm doing wrong here. I can't get Datejs to properly parse "12:00 pm" however, it seems to work fine on other dates. Below is a clip from the Firefox debugger:


回答1:


Download the latest version of Datejs from SVN not the version in the "download" section.




回答2:


Try wrapping the code in an 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>

The IIFE being

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

What I'm curious about is why FireFox behaves this way. I know they added security updates a few years back that prevent you from overwriting Date.prototype functions, but why is an IIFE capable of accessing this scope?



来源:https://stackoverflow.com/questions/6444775/datejs-problem-with-1200-pm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!