4

我正在尝试使用jQuery Mobile创建一个站点。它由HTML文件中的许多页面组成,其中一些只有一个页面,而另一些有多个页面(使用它们的多阶段特征).

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

我尝试将弹出窗口放在页面外,但它们无法可靠地工作(您可以看到一个示例在这里).

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

我不确定这是否是弹出窗口小部件中的一个错误,因为弹出窗口小组件仅在jQuery Mobile的alpha版本中,所以这似乎是可能的。

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

1

3个答案

重置为默认值

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

包括插件(具有1.8千字节),然后拨打:

$.dynamicPopup({content:'这是弹出窗口的动态内容。'});

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

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

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

  • 我试过演示,它看起来很好。我还没有在自己的网站上尝试过,但看起来它会运行得相当好。 评论 2012年8月23日18:13
  • 1
    @serbanghita:你能更新演示中的脚本路径吗?http://jquerymobile.com/test/js/jquery.js不再工作了。 评论 2013年3月3日13:03
  • 完成后,该项目拥有自己的存储库,其中包含示例和屏幕截图:github.com/serbanghita/jQM-dynamic-popup 评论 2013年9月30日10:38
0

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

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

  • 我尝试在页面外包含弹出窗口,但它无法可靠地工作。请参阅我从问题中链接到的示例。 评论 2012年8月21日23:28
  • 您可能应该在上发出弹出功能请求JQM Github公司。我一直在玩弹出窗口小部件,或多或少也在寻找每页一个弹出窗口。我在每个页面上都包含了一个弹出窗口,这也不是完美的,因为创建弹出窗口的控件(如果您在Firebug中查看)位于div之外。当您离开页面时,页面不会被删除。因此,如果我加载10个页面,我将使用10个弹出容器聚集DOM。我想还是你说的阿尔法。我已经切换到警报,直到弹出窗口稳定。
    – 频繁的
    评论 2012年8月22日6:57
  • 我在GitHub上提出了一个请求。可以在以下位置看到github.com/jquery/jquery-mobile/issues/4888. 评论 2012年8月22日17:13
0

派对可能会很晚,但可能对有人来说很有用。

现在,如果您使用的是最新的JQM(我使用的是JQM 1.4.2),则可以使用Global Popups。您只需要直接在body div下声明弹出窗口,在所有数据角色页面之外。

最好经历一下JQM文件

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.