Project

General

Profile

Actions

Bug #2823

closed

Directory listing / sort by last modified does not work on Safari

Added by fjo over 6 years ago. Updated over 6 years ago.

Status:
Fixed
Priority:
Normal
Category:
mod_dirlisting
Target version:
ASK QUESTIONS IN Forums:

Description

On Safari, Date.parse(at.replace(/-/g, '/')) results in NaN if at is s.th. like "2017-Oct-01 12:34:56"
Date.parse() expects "Oct 01, 2017 12:34:56"

Attached patch is suggested for latest git checkout


Files

Actions #1

Updated by stbuehler over 6 years ago

Maybe it would be better to dump the date in seconds since epoch as data-time attribute in the cell.

Actions #2

Updated by gstrauss over 6 years ago

HTML5 provides <time> tag, but we'd like to work with (some) older browsers, too.

Does Safari support a simplified ISO 8601 format? e.g. Date.parse("2017-Oct-01 12:34:56") or Date.parse("2017-Oct-01T12:34:56") ?

[edit: the above examples I gave are not ISO 8601 since they use "Oct" instead of "10"]

... Seems like many people recommend a custom date parse routine rather than using Date.parse().
https://stackoverflow.com/questions/31137792/date-parse-in-safari

I like @stbuehler suggestion to use custom cell attribute data-time and to sort on that. Using an HTML-compliant custom attribute should be compatible with existing behavior.

Actions #3

Updated by fjo over 6 years ago

Please see the attached patch. It uses a data-time attribute. mod_dirlist.c from lighttpd2 uses an attribute named "val" for this.

Actions #4

Updated by stbuehler over 6 years ago

Please use the .patch extension for files including patches.

Actions #5

Updated by stbuehler over 6 years ago

Is the hasAttribute check really necessary? Can we check the return value of getAttribute instead?

Actions #6

Updated by fjo over 6 years ago

Yes, i meant it as a safety measure and to avoid an if-statement within "else if (sort_column == date_column) {".

Actions #7

Updated by gstrauss over 6 years ago

  • Status changed from New to Patch Pending
  • Target version changed from 1.4.x to 1.4.46
Actions #8

Updated by gstrauss over 6 years ago

  • Status changed from Patch Pending to Fixed
  • % Done changed from 0 to 100
Actions

Also available in: Atom