检查localstorage以决定加载哪个屏幕[jquery/javascript]

检查localstorage以决定加载哪个屏幕[jquery/javascript],javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我需要用这个 jQuery( ".selector" ).on( "pagebeforechange", function( event ) { ... } ) 检查我的本地存储密钥/值以决定加载哪个屏幕。我已经阅读了这个文档,但我对Javascript还不熟悉,不知道如何正确执行它 文档中没有显示任何示例代码 我还尝试了一些在Stackoverflow上找到的方法,但它们根本不起作用 请展示一些示例代码。多谢各位 莱兹 代码更新: 代码用作@Omar建议的参考 这两种代码都无法让我进入页面。

我需要用这个

jQuery( ".selector" ).on( "pagebeforechange", function( event ) { ... } )
检查我的本地存储密钥/值以决定加载哪个屏幕。我已经阅读了这个文档,但我对Javascript还不熟悉,不知道如何正确执行它

文档中没有显示任何示例代码

我还尝试了一些在Stackoverflow上找到的方法,但它们根本不起作用

请展示一些示例代码。多谢各位

莱兹

代码更新:

代码用作@Omar建议的参考


这两种代码都无法让我进入页面。

您可以这样使用它:

$(document).bind('pagebeforechange', function (event, ui) {
    if(localStorage.keyName == "XXX")
            $.mobile.changePage("#pageXXX");
        else
            $.mobile.changePage("#pageYYY");
});

打开1页id键值是您想要的。否则请打开另一页。

我找到了一个解决方法来实现我所需要的。我根据这里回答的建议修改了代码,当我使用console.log进行测试时,事件运行良好

但我不能使用该方法,因为每次加载页面时都会触发该事件。我只需要第一个屏幕来检查本地存储。因此,我现在的解决方法如下

我在一个HTML文件中创建多页应用程序,所以我创建了一个新的“checker”页面作为第一页

我的检查页面:

我之所以创建“checker”页面,是因为我不希望在重定向之前显示初始的“welcome”页面。现在我用“棋盘格”来覆盖闪光灯,因为“棋盘格”是空的

我真的希望有人能提出更好的方法,用更干净、更智能、更少的代码做我需要的事情


我真的希望有人能建议一个更好的事件处理程序,我可以消除“检查”页面加载闪烁。感谢大家。

使用localStorage.index=“value”或localStorage.setItem['index']=“value”来设置您的值,并使用var value=localStorage.getItem(“index”);警报(值);嗨@Omar,正如我所说的,我尝试了我在这里找到的其他解决方案,我已经更新了一个新的代码,它使用了你推荐的帖子。我不知道出了什么问题,同样,我刚刚开始学习Javascript/jQuery。请提供建议,谢谢。因为本地存储速度相对较慢,请检查此项。我已为此问题制定了解决方案。我没有收到此项,可能是我需要阅读更多有关pagebeforechange事件以及为什么使用此PreventedAffault的信息。无论如何,谢谢!我使用preventDefault来消除多个警报。欢迎。:)@RohitTiwariHi@mysticsmagic,我将以下代码放入custom.js中,但当我尝试启动应用程序时,页面没有改变。我已检查localstorage键/值是否存在。请检查我的代码更新。@user3053891我建议检查button click事件中的本地存储和页面导航,而不是pagebeforechage。
//Check localStorage
$(document).on("pagebeforechange", function(e, data) {
        if (localStorage.logon == "yes") {
            $.mobile.changePage("#userMainPage", {
                transition: "flow"
            });
            e.preventDefault();
        }
    });
$(document).bind('pagebeforechange', function (event, ui) {
    if(localStorage.keyName == "XXX")
            $.mobile.changePage("#pageXXX");
        else
            $.mobile.changePage("#pageYYY");
});
<!--    page 0 [checker] on top of among all page-->
<div data-role="page" id="checker">
</div>
//Check localStorage and redirect user to matching screen
$('#checker').on("pagebeforeshow", function() {
    if (localStorage.token == null) {
        $.mobile.changePage("#welcome");
    }
    else {
        var active_page = localStorage.active_page;
        $.mobile.changePage(active_page);
    }
});