0

我有我的 JQM 应用程序,在我的页面中,我从外部 JSON 加载数据以在我的 Google 地图中显示标记。

我使用这个页面结构:

// GOOGLE MAPS RICERCA 
$(document).on('pageshow','#map3', function(){
//show map in my page
});

当我单击标记时,我会显示一个包含详细信息的新页面。如果我单击“返回”按钮,我会返回#map3 页面,并重新加载数据和地图。

我希望地图只能通过在地图页面中按下适当的按钮来刷新(而不是每次)。

你能帮助我吗?

4

2 回答 2

1

一般来说,没有。无法停止重新加载页面。如果用户想要重新加载页面,它将由客户端重新加载并请求服务器重新加载。

您可以发送一个 javascript 事件来询问用户是否要重新加载页面。

相反,您可以向用户询问重新加载页面并继续页面:

<script type="text/javascript">
    window.onbeforeunload = function() {
        return "Do you want to leave a page?";
    }
</script>
于 2013-07-29T14:29:18.747 回答
1

使用 pageinit 事件而不是 pageshow 怎么样?我希望我理解正确,您想在页面创建并导航到时加载它,但您不想在返回同一页面时加载它。“后退”按钮应该是浏览器的后退按钮,或者 jQuery mobile 后退按钮 ( <a data-rel="back">Back</a>) 如果这是你想要的,我会试试这个:

$(document).on('pageinit','#map3', function(){
    //show map in my page
});

这里有一个很好的解释 jQuery Mobile 中的各种页面和非页面事件:

jQuery Mobile:文档就绪与页面事件

于 2013-07-29T15:10:57.203 回答