对于 JQuery Mobile 站点,我需要在页面导航中加载新图像。图像仅显示在主屏幕上。
例如,您加载 m.smellyeggs.com,其中 image_A.png 作为顶部横幅。您选择菜单项 1,然后按返回,现在 image_B.jpg 显示为顶部横幅。
我能够使用cookie让它工作。我得到一组潜在图像,然后使用 cookie 遍历该数组。这适用于页面重新加载,但页面的任何缓存加载(例如 href="/" 或在移动设备或浏览器中使用“返回”)都不会调用 javascript。因此,图像实际上不会交替。
var images = new Array();
<% banner_mobile_uris( controller.conference ).each do |url| %>
images.push( "<%= url %>" );
<% end %>
inc_banner_cookie();
load_banner();
为了解决这个问题,我使用了以下代码,它会删除图像,每当加载主页时强制刷新图像。
$( 'a' ).live( 'click', function( ev ){
var banner = $('#m_banner').load(htm_file);
banner.empty().remove();
});
此代码从发生的任何后续页面导航中删除“返回”按钮。
好吧,这是不可接受的!关于更好的方法的任何建议?除非绝对必要,否则我宁愿不实现自己的“后退”按钮。
感谢阅读(希望能有所帮助)。