隐藏匿名用户的一些html块

时间:2013-12-31 20:51:13

标签: html node.js authentication

如何隐藏访问我的应用程序的匿名用户的某些html块。我不使用任何模板引擎。我的后端在node.js中。

实现这一目标的最佳方式是什么?

if (loggedin) 

<div id="logged-in"> 
   Some menus for Loggedin User
</div>

else 
<div id="anonymous"> 
   Some menus for Anonymous user
</div>

2 个答案:

答案 0 :(得分:1)

您应该使用模板引擎。

如果您不想这样做,您可以构建一个函数来读取用户是否在会话中,然后打印/包含动态版本的HTML(标题,正文,div或您需要的任何内容)使用登录用户的用户特定数据,或打印/包括已登出用户的HTML(标题,正文,div或任何您需要的)的通用版本

答案 1 :(得分:1)

正如其他人所说,模板引擎很可能是最佳选择。这正是他们设计要解决的问题。此外,现在在逻辑简单的情况下引入一个将比在临时解决方案变得过于繁琐时引入一个更不痛苦。 (实际上,临时解决方案可能很麻烦。)

然而,另一个可能的解决方案是使用2个不同的HTML文件,让你的功能根据用户是否登录选择发送给用户的那个。这只有在页面完全不同的情况下才真正可行。登录状态。即使这样,模板引擎也可以通过在页面中包含组件文件来实现更强大的解决方案,允许您在不同页面之间共享页眉,页脚或任何其他常用元素。

如果您仍然违反模板引擎并且不想使用不同的HTML文件,那么您基本上可以进行自己的临时模板化。将某些要替换的字符串放入HTML中,将文本加载到文件中的字符串中,然后使用string.replace或类似的东西。 string.replace的一个很好的例子被描述为here。如果您选择这样做,请务必小心“要替换的字符串”不与HTML或页面本身使用的任何其他语言冲突。

相关问题