Okay, so I have a program which outputs some specific data to a tab separated variable file.
I had been using Excel to open and view the file contents, however I found excel’s insistence on locking every file it opens to be incredibly annoying as my program would crash if I left the file open in Excel… but I would really like the data to neatly update after each run of the program, so I don’t have to close and re-open the file all the time.
So, I decided it would be easiest to use Javascript to parse the file and display it in a html table, and it was. I knocked something together in no time. Now my program doesn’t crash if I leave the file on display, however, it still doesn’t update… and I have to open the newly generated file each time.
So, I was wondering if there was a mechanism by which my Javascript could be somehow notified of a change to the file by another process? I know this is unlikely, but I would like to avoid simply polling the file for obvious reasons.
I am very familiar with JS, but HTML5 and the new APIs are all new to me.
I don’t believe the File API has any event for the file changing, just progress events and the like.
Update August 2020: The alternative below no longer works, and the specification specifically disallows it by saying that the
Fileobject’s information must reflect the state of the underlying file as of when it was selected. From the spec:You could use polling. Remember thelastModifiedDateof theFile, and then when your polling function fires, get a newFileinstance for the input and see if thelastModifiedDatehas changed.This works for me on Chrome, for instance: Live Copy | Source