Naprawdę nie mam pojęcia, co robię źle tutaj. Nie mogę zmusić Datejs do prawidłowego parsowania "12:00", ale wydaje się, że działa dobrze w innych terminach. Poniżej znajduje się klip z debuggera Firefox:Datejs - Problem z 12:00 pm
6
A
Odpowiedz
16
Pobierz najnowszą wersję Datejs z SVN nie wersji w sekcji „download”.
+6
Tak, działało: http://datejs.googlecode.com/svn/trunk/build/date-en-US.js –
0
Spróbuj zawinąć kod w 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 będąc
(function(){
//code
}());
Co jestem ciekaw dlaczego FireFox zachowuje się w ten sposób. Wiem, że kilka lat temu dodali aktualizacje zabezpieczeń, które uniemożliwiają nadpisanie funkcji Date.prototype, ale dlaczego IIFE jest w stanie uzyskać dostęp do tego zakresu?
Działa dobrze dla mnie w Chrome działającym w konsoli bezpośrednio na stronie internetowej datejs. – Matt
Tak, to też działało dla mnie, właściwie –
Której wersji DateJS używałeś w powyższym? – Matt