【问题标题】:jQuery Mobile hijax redirects -- how to prevent?jQuery Mobile hijax 重定向——如何防止?
【发布时间】:2013-11-25 08:47:50
【问题描述】:

我想在我网站的登录页面上运行整个页面刷新,因为登录页面的布局与我登录时完全不同。 当以前登录的用户在我的站点上四处导航,并由于超时而自动注销并重定向到登录页面时,就会出现一个问题。 jQuery Mobile“hijax”这个页面,现在布局被破坏了。

如何防止 jQuery Mobile “劫持”重定向?

这里没有提到:http://jquerymobile.com/demos/1.2.0/docs/pages/page-links.html 是相关的,因为所有链接都是有效的并且不需要任何特殊属性,直到发生超时。

谢谢!

【问题讨论】:

    标签: javascript jquery html mobile hijax


    【解决方案1】:

    我希望我正确理解了这个问题。我想到了两种可能的选择:

    -在打开链接之前,您可以使用 ajax 来验证用户是否已登录。 (使用监听器和 changePage)。如果 ajax 返回您未登录,请重新加载页面而不是加载链接。

    - 使用 pagebeforeshow 监听器来识别加载的页面是否是登录页面(例如,检查是否存在仅存在于登录页面中的特定 DOM 元素)。如果是,请重新加载页面。

    【讨论】:

    • 谢谢!第一种选择是解决方案。但是,使用 pagebeforeshow 并不能很好地工作。它确实有效,但这些东西实际上是在重新加载完成之前插入到 DOM 中的:/ 不幸的是,所有页面每个链接都需要两个请求。
    • 对于第二个,您可以尝试隐藏 DOM,直到您没有检查您是否已登录。示例:$("body").hide(); if ($("#some_element_that_is_in_login_page").length !== 0) window.locationblabla;否则 $("body").show();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 2019-02-26
    • 1970-01-01
    相关资源
    最近更新 更多