Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓网络视图“;“后退”;按钮以加载以前加载的div_Android_Jquery_Webview_Back - Fatal编程技术网

Android 安卓网络视图“;“后退”;按钮以加载以前加载的div

Android 安卓网络视图“;“后退”;按钮以加载以前加载的div,android,jquery,webview,back,Android,Jquery,Webview,Back,我会尽量解释清楚。我有一个android应用程序,使用web view基本上加载一个网页作为我的应用程序。我的一切都很好,但是后退按钮似乎是个问题。我已经在一个html页面上设置了这个页面,当单击某些按钮时,它将加载到一个div中,给人一种新页面的感觉,而实际上没有新页面。我基本上希望通过后退按钮(在android平板电脑或智能手机上)来加载之前加载的div,但我不知道从哪里开始。以下是内容切换jquery的外观- 功能内容切换器(设置){ 变量设置={ contentClass:“.conte

我会尽量解释清楚。我有一个android应用程序,使用web view基本上加载一个网页作为我的应用程序。我的一切都很好,但是后退按钮似乎是个问题。我已经在一个html页面上设置了这个页面,当单击某些按钮时,它将加载到一个div中,给人一种新页面的感觉,而实际上没有新页面。我基本上希望通过后退按钮(在android平板电脑或智能手机上)来加载之前加载的div,但我不知道从哪里开始。以下是内容切换jquery的外观-

功能内容切换器(设置){ 变量设置={ contentClass:“.contentToLoad”, 导航ID:“#侧菜单”, servFront:“#单击主页”

   };
     //Hide all of the content except the first one on the nav
    $(settings.contentClass).not(':first').hide();
    $(settings.navigationId).find('li:first').addClass('active');

    //onClick set the active state, 
    //hide the content panels and show the correct one
    $(settings.navigationId).find('a').click(function(e){
        var contentToShow = $(this).attr('href');
        contentToShow = $(contentToShow);
        //dissable normal link behaviour
        e.preventDefault();
        //set the proper active class for active state css
        $(settings.navigationId).find('li').removeClass('active');
        $(this).parent('li').addClass('active');
        //hide the old content and show the new
        $(settings.contentClass).hide();
        contentToShow.show("slow");
     });
}   
contentSwitcher(); }))

注意:我删掉了一堆,只是为了展示它在基本层面上是如何工作的

有人对从哪里开始有什么建议吗?我只是希望back按钮功能能够检查存储在某处的已启动的先前div名称并加载它


谢谢!

您可以尝试使用历史API。网络上有许多教程,例如,这本非常好:

基本上这就是它的工作原理。当用户单击div的链接以显示您将状态推送到历史堆栈时

 history.pushState({<object with any information about state>}, pageTitle, newUrl);

历史API要求您以某种方式构造代码,以使其正常工作。为此,我建议使用一些现有的框架来为您处理后台事件,例如Backbone.js。希望这会有所帮助。

这太棒了!感谢分享。如果应用于android平板电脑或smartpho的后台功能,这是否可行ne.现在它刚从我的应用程序中退出,但我希望它能与这样的东西结合起来。这应该适用于android手机后退按钮,至少是我尝试过的按钮。这太棒了,我直到现在都不知道这个API,非常有趣的东西!我的问题是-我的webview页面的url永远不会改变,它只是换入(和换出)而已一个新的div给人一种新页面的错觉,我能把它应用到div的改变吗?我只是好奇,因为url从来没有真正改变过。再次感谢你的帮助!!这个解决方案意味着你必须为应用程序的不同状态使用不同的url。当我改变url时,使用历史API不会重新加载任何内容这就是你所担心的?所以,我必须将每个div与一个url相关联?因此,当我调用时,可以这样做-在jquery中显示content div,我还可以使用push状态将其标记为一个url?然后使用该url跟踪历史?这是正确的吗?
window.addEventListener("popstate", function(event) {
    // event object contains the information from the pushed state
    // do whatever needed to load the previous page here
});