我正在构建一个应用程序Meteor,我正在创建第一次用户启动屏幕 - 类似于“关于/欢迎”页面。本质上来说,这是第一次启动应用程序之后会拉出一次性屏幕并且再也不会出现的东西;如果用户已经打开应用程序,他们将被引导到另一个页面。检测流星应用程序的第一次用户
我没有使用登录凭据,所以我需要一个不同的解决方案,而不是检查用户是否登录。
我该如何去配置这个?我试图搜索整个网络,似乎无法找到解决方案。请注意,这与“启动屏幕”不同。
我正在构建一个应用程序Meteor,我正在创建第一次用户启动屏幕 - 类似于“关于/欢迎”页面。本质上来说,这是第一次启动应用程序之后会拉出一次性屏幕并且再也不会出现的东西;如果用户已经打开应用程序,他们将被引导到另一个页面。检测流星应用程序的第一次用户
我没有使用登录凭据,所以我需要一个不同的解决方案,而不是检查用户是否登录。
我该如何去配置这个?我试图搜索整个网络,似乎无法找到解决方案。请注意,这与“启动屏幕”不同。
您将需要使用localstorage或设置cookie。
我建议先尝试localstorage。上有atmosphere几个包,应该帮助,
使用frozeman:存储包(meteorpad example):
Template.body.helpers({
beenHereBefore: function() {
var beenHereBefore = LocalStore.get('BeenHereBefore', {reactive: false});
console.log(LocalStore.get('BeenHereBefore', {reactive: false}));
if (beenHereBefore !== true){
LocalStore.set('BeenHereBefore', true, {reactive: false})
console.log(LocalStore.get('BeenHereBefore', {reactive: false}));
}
return beenHereBefore;
},
});
<body>
{{#unless beenHereBefore}}
<h1> Welcome first time visitor! </h1>
{{else}}
<div class="outer">
<div class="logo"></div>
<h1 class="title">Leaderboard</h1>
<div class="subtitle">Select a scientist to give them points</div>
{{> leaderboard}}
</div>
{{/unless}}
</body>
这是可行的!非常感谢!! :) –
只是一些简单的JavaScript应该做的伎俩:
if (Boolean(localStorage.getItem('visitedApp'))) {
// user's been here before
} else {
// do stuff for first time user
localStorage.setItem('visitedApp', true);
}
这是一个有点硬因为他们通常可以清除浏览器cookie和本地存储 - 它的准确程度如何? – corvid
它不需要超级准确。只是希望有一次性的“教程”类型的屏幕。 –
[流星:如何在用户注册时显示页面](http://stackoverflow.com/questions/32956291/meteor-how-do-i-show-a-page-when-a-用户注册) –