我正在使用jQuery Mobile 1.4.0构建一个移动Web应用程序,我为每个页面使用不同的html文件用于组织目的,因为这将是一个相当大的应用程序。
据我所知,该文档未在辅助页面上使用,因为jQuery Mobile中的链接通过AJAX从文件中提取data-role =“page”内的信息,并将其插入到dom中并显示它。我很好。
我想要的是文件中的javascript也能够被利用(我不想使用data-ajax = false并且失去过渡等)。在阅读我认为我可以使用的文档时:
$(document).on('pagecontainershow', function(event, ui) { });
得到我想要的结果。这在第一页上工作正常,但在后续页面上不起作用,除非我在新的选项卡/会话中手动将该URL输入浏览器。所以我试过
$('#pageid').on('pagecontainershow', function(event, ui) { });
认为这可能会成功,希望jQM能够通过使用正确的ID知道将其拉到该页面。但是这根本不起作用。
所以现在我被卡住了。有人可以帮忙吗?我无法想象我是唯一一个不想在主页上保留成千上万行javascript的人。
提前致谢
答案 0 :(得分:1)
jQuery Mobile通过HTTP加载第一页,其余的外部页面通过Ajax加载。在单页模型中,它会先data-role="page"
加载<body>
并忽略data-role="page"
之外的其他元素。
要解决此问题,并且为了加载第一页中未包含的不同库,您需要将它们放在任何外部页面的data-role="page"
内。
如果关闭data-ajax="false"
ajax,页面将通过HTTP正常加载。