【问题标题】:jqm data-rel="back" issuejqm data-rel="back" 问题
【发布时间】:2013-05-14 20:56:26
【问题描述】:

想象以下场景:

我有一个 jquery-mobile 公式,它的结果链接到它的结果页。

在结果页上我有这个后退按钮:

<a href="#" data-rel="back" data-role="button"></a>

这可以很好地更新内容并保留提交的表单数据,

但是 如果用户来自搜索引擎或类似的外部链接,那么我的后退按钮会链接回 searchengine/externLink。

那么我如何区分来自我的表单或 jqm 方式的其他任何地方的人?

如果用户不是来自搜索并且我不想错过从搜索到结果页面的 ajax 链接,我很想链接到“开始搜索页面”,请使用相同的按钮,理想情况下我不必设置任何 cookie。

有没有比从 document.referrer 检查服务器 url 的任何提示或更聪明的尝试? 提前谢谢

【问题讨论】:

  • 谢谢,但这对我没有帮助,因为在我的情况下,搜索结果页面中总是有一个按钮“[data-rel=back]”
  • 这将检查特定页面是否是要查看的第一个页面,并相应地将后退按钮设置为主页或您想要的任何位置。如果用户正常浏览您的页面,它将充当 rel=back。
  • 好吧,你是对的,但这对我来说不起作用,因为我使用 groovy-layout 模板引擎,并且搜索和搜索结果在同一个 data-role="page"
  • 好吧,它不起作用:(

标签: javascript jquery jquery-mobile back


【解决方案1】:

您可以使用以下代码检查当前页面网址:

var prevUrl = $.mobile.activePage.data('url');

如果您想根据之前的 URL 执行不同的操作。 然后将 URL 保存在全局 javascript 变量中并单击按钮检查上一个 URL 并执行您的功能。例如

导航到页面之前:

var prevUrl = $.mobile.activePage.data('url');

点击按钮:

if (prevUrl=="myurl") {
//do something
 $.mobile.changePage('#search')
}
else {
 $.mobile.changePage('#nothing')
}

【讨论】:

    猜你喜欢
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    相关资源
    最近更新 更多