I'm working on a jQuery Mobile site, utilizing Firebase Authentication. In my case we're using the auth tokens (with custom claims) to restrict access to a team telephone roster. If you aren't on the team, the node server won't offer up that content. The ajax call, authentication verification and server stuff all works great. What doesn't work is the appearance for first time login.
When the website is first displayed and then the Phonelist page is selected, (http://localhost/#phone_list
) we see this:
The page is unusable in this form. There is no place to enter a phone number.
When the page is simply refreshed, the display converts to:
Obviously this is exactly how it should look. There is a readily identifiable space for the user to enter a mobile phone number.
This is very repeatable. I'm assuming this has something to do with the timing of the Javascript class entries. The enter phone number content, is all coming from a 'canned' javascript element from Google.
When I inspect the key elements in Chrome dev tools, I see...
Problem display:
<button class="firebaseui-id-country-selector firebaseui-country-selector mdl-button mdl-js-button ui-btn ui-shadow ui-corner-all" data-upgraded=",MaterialButton">
<span class="firebaseui-flag firebaseui-country-selector-flag firebaseui-id-country-selector-flag firebaseui-flag-US"></span>
<span class="firebaseui-id-country-selector-code">+1</span>
</button>
After a simple refresh:
<button class="firebaseui-id-country-selector firebaseui-country-selector mdl-button mdl-js-button" data-upgraded=",MaterialButton">
<span class="firebaseui-flag firebaseui-country-selector-flag firebaseui-id-country-selector-flag firebaseui-flag-US"></span>
<span class="firebaseui-id-country-selector-code">+1</span>
</button>
The whole refresh thing isn't a great fix. My users are way confused. I'm overriding key CSS elements to make this remotely functional, but I'm not quite sure how to best fix this. Because of the jQueryMobile navigation functioning, there really isn't a simple way to perform a repaint / refresh of this 'page'. I did find this reference posting, but it doesn't seem to be of much help.
Any ideas on how to make this fully functional?