检查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);
}
});