jQuery Mobile网站中所有页面通用的弹出窗口

Popups common to all pages in jQuery Mobile site

本文关键字:窗口 网站 Mobile jQuery      更新时间:2023-09-26

我正在尝试使用jQuery Mobile创建一个网站。它由HTML文件中的许多页面组成,有些页面只有一个页面,有些页面有多个页面(使用多页面功能)。

该网站将有一些弹出的通知,它们在所有页面上看起来都是一样的。我正在使用他们的新弹出功能来实现弹出窗口,这似乎是为此目的而设计的。我可以通过在每个页面上放置弹出窗口的副本来轻松实现这一点,但这会创建大量冗余代码,可能很难维护。我可能会让我的服务器在适当的地方为我插入代码,但这似乎很复杂,效率很低。

我试着把弹出窗口放在页面之外,但它们不能可靠地工作(你可以在这里看到一个例子)。

我尝试使用模板系统(underline.js中内置的模板系统)动态生成它们,但这看起来可能会造成问题——我必须在关闭每个弹出窗口时销毁它,以避免内存泄漏。

我不确定这是否是弹出窗口小部件中的错误,这似乎很可能,因为弹出窗口小程序只在jQuery Mobile的alpha版本中。

这里有人知道如何在几个html文件中创建一个包含多个页面的网站,并使用所有页面通用的弹出窗口吗?

我在jQuery Mobile github上看到了您的请求,并发布了我在web应用程序上使用的解决方案。检查http://ghita.org/jquery/dynamic-mobile-popup这是一个小插件,允许您拥有动态弹出窗口,它可以让您关注弹出窗口的内容事件

包含插件(具有1.8kb),然后调用:

$.dynamicPopup({content: 'This is the dynamic content of the popup.'});

content-可以是字符串或jQuery html对象。

检查https://github.com/serbanghita/jQM-dynamic-popup查看完整的选项列表,其中一些选项继承自jQuery的mobilepopup()函数。

这个问题对我来说是一个阻碍,因为我有动态网页,我不在乎手动注入HTML内容以使popup()处于活动状态。希望你觉得它有帮助。

您必须尝试将其设置为类似jqm加载程序,它也位于div.page之外(否则您将在dom内的每页有一个加载程序),所以我认为正确的方法是不将弹出窗口包含在页面内,而是包含在div.page外。

由于jqm只会引入div.pages,在之前/之后没有任何内容,因此您应该能够在每个页面上包含一个通用popover,并且只在dom中包含一次。不确定这是否在div.page.

之外工作

参加聚会可能会很晚,但可能对遇到的人有用。

现在,如果你使用的是最新的JQM(我使用的是JQM 1.4.2),你可以使用全局弹出菜单。你只需要直接在bodydiv下声明弹出菜单,在所有数据角色页面之外。

最好浏览一下JQM文档