【发布时间】:2018-07-29 09:11:48
【问题描述】:
我正在开发一个使用 Firebase 身份验证的 jQuery Mobile 网站。在我的例子中,我们使用身份验证令牌(带有custom claims)来限制对团队电话名册的访问。如果您不在团队中,节点服务器将不会提供该内容。 ajax 调用、身份验证和服务器的东西都很好用。第一次登录的外观不行。
当网站第一次显示,然后选择电话列表页面时,(http://localhost/#phone_list)我们看到:
该页面在此表单中不可用。没有地方可以输入电话号码。
当页面被简单地刷新时,显示转换为:
显然这正是它应该的样子。有一个易于识别的空间供用户输入手机号码。
这是非常可重复的。我假设这与 Javascript 类条目的时间有关。输入的电话号码内容全部来自 Google 的“罐装”javascript 元素。
当我检查 Chrome 开发工具中的关键元素时,我看到...
问题展示:
<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>
简单刷新后:
<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>
整个刷新的东西不是一个很好的修复。我的用户很困惑。我正在覆盖关键的 CSS 元素以使其远程运行,但我不太确定如何最好地解决这个问题。由于 jQueryMobile 导航功能,确实没有一种简单的方法来执行此“页面”的重绘/刷新。我确实找到了这个reference posting,但它似乎没有多大帮助。
关于如何使其功能齐全的任何想法?
【问题讨论】:
-
您是否尝试过这个api.jquerymobile.com/data-attribute 参见增强
data-enhance="false"? -
不要去那里。我已经尝试过
data-enhance="false"和data-ajax="false"。请记住,Google Firebase 和 jQuery Mobile 都在将类名操作到元素以影响渲染。
标签: javascript jquery firebase jquery-mobile firebase-authentication