gpt4 book ai didi

jquery-mobile - jQuery Mobile 和 anchor 链接请求错误的页面

转载 作者:行者123 更新时间:2023-12-01 02:46:29 25 4
gpt4 key购买 nike

我开发了一个 Rails 应用程序,其主要功能是一个业务搜索页面,该页面通过显示一个业务结果页面和一个允许用户进一步搜索/过滤结果的表单来运行。

最近,我使用具有以下设置的 jQuery Mobile 实现了此应用程序的移动界面:

业务结果页面有两个数据角色为“页面”的 div。第一个是用户访问时看到的充满结果的实际页面,第二个 jQuery Mobile 页面具有 HTML id“search-form”并包含过滤结果所需的表单字段。

在第一页的标题栏中有一个链接到#search-form 的按钮,带有对话框的数据关系。

如果有人直接访问 site.com/businesses 然后单击链接,这将非常有效,jQuery Mobile 会正确地将 site.com/businesses#search-form 加载到模式对话框中并且蠕虫会起作用,但是如果他们开始浏览任何其他页面上的 session ,对话框始终包含其原始页面的内容。

例如,如果他们访问 site.com/someotherpage 站点,然后以某种方式导航到 site.com/someotherpage#/businesses 并单击过滤器按钮,jQuery Mobile 会错误地请求并使用内容 site.com/填充对话框someotherpage#search-form

我已经尝试将过滤器链接从#search-form 更改为使用#search-form 将当前页面的完整绝对路径实际硬编码,但没有任何效果。

提前致谢,我要为这个疯狂!这是唯一阻止我部署移动版本的因素。

最佳答案

我也遇到了同样的问题。 #thirdPage 中放置的任何按钮都将由 jQuery 很好地装饰,但它们会从用户加载的第一个页面创建弹出窗口。此外,对话框上的后退按钮将指向第一页。

在静态页面中加载了一个按钮(如下所示),但同样适用于我通过 pagebeforecreate 事件插入的动态创建的按钮。

我开始认为所有弹出窗口都应该放在用户到达的第一个页面的 html 文件中。但这没有帮助,而且会很尴尬。

顺便说一句,在桌面版 Chrome 中测试它工作正常。只有在我的 Android 上才会出现问题。但这很可能是出于前面提到的相同原因:在 Chrome 上我将加载第三页本身,而在 Android 上我将通过第一页和第二页到达。

另一个特点是,在桌面版 Chrome 中进行测试时,我附加到#thirdPage 的 pagebeforecreate() 事件被调用再次,即使对话框完全在#thirdPage 元素之外并且不会我附加了任何自定义事件。第二次调用 pagebeforecreate() 不会发生在 Android 上。

更有趣的是:存在这些问题的 HTML 页面被 jQueryMobile 赋予了一个 元素,其 href 属性不以 html 结尾。所有其他页面最后都会得到“.html”。很奇怪。

  <html>
<body>
<div id="thirdPage" data-role="page" data-url="third">
<a href="#desiredPopup" data-role="button" data-rel="dialog" data-transition="pop">Give me the popup</a>
</div>
<div id="desiredPopup" data-role="dialog" data-url="purchase" tabindex="0">
<a href="#thirdPage" data-rel="back" data-role="button" data-inline="true" data-icon="back">Back to page "three"</a>
</div>
<body>
<html>

关于jquery-mobile - jQuery Mobile 和 anchor 链接请求错误的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6481491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com