CenterForOpenScience/osf.io — pull request #1388 by lyndsysimon (2014-12-10 15:26:44+00:00)
Title: Fix bug in footer to allow Safari to save dismissed state

# Issue

In Safari on OSX, the footer slidein's dismissal would (usually) not persist between page loads. While inspection in the development console showed that the cookie was indeed set, approximately 75% of the time the cookie would not be set the next time any OSF page was loaded.

This seems to have unlikely been a problem with the library used `[jquery.cookie](/carhartl/jquery-cookie)`, as the page's `document.cookie` propery did in fact reflect that the cookie was set... at least, until the user reloaded the page.

# Changes

The footer slide-in now uses HTML5 local storage to store the user's dismissal of the modal. If the `localStorage` object isn't available - for instance, if the user has it turned off, or if they're using a very old browser - then I'm falling back to using the cookie.

# Side Effects

None known. This should only impact the footer code.

# Notes

In theory, this does not completely resolve the problem. It's possible that a user might be using a version of Safari that doesn't support local storage, in which case the defective behavior will likely still be present. Safari 4 was the first version to support it and it was released in 2008, so the chances of this occurring seem to be very small. That said, the worst that could happen with this particular issue is that the slide-in would show on every page when the user is logged out.

I've tested the slider, including this hotfix, in IE 11 on Win8.1. I found no issues.