我真的不知道我在这里做错了什么。我无法让Datejs正确解析“12:00 pm”,但它似乎在其他日期工作正常。下面是Firefox调试器的剪辑:
答案 0 :(得分:16)
从SVN下载最新版本的Datejs,而不是“下载”部分中的版本。
答案 1 :(得分:0)
尝试将代码包装在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能够访问此范围?