Javascript 如果用户已登录,则隐藏href链接
我不熟悉jQuery。我在页眉中有以下Javascript 如果用户已登录,则隐藏href链接,javascript,jquery,html,Javascript,Jquery,Html,我不熟悉jQuery。我在页眉中有以下a链接 <div id="navigation"> <ul> <li><a href="/home.html?sign=true">Home</a></li> <li><a href="/jobs.html">Tests</a></li> <li><a href="/
a
链接
<div id="navigation">
<ul>
<li><a href="/home.html?sign=true">Home</a></li>
<li><a href="/jobs.html">Tests</a></li>
<li><a href="/vps.html">Jobs1</a></li>
<li><a href="/ust.html">Jobs2</a></li>
<li><a href="/sub.html">Subscription</a></li>
</ul>
</div>
此标题包含在公共index.html中。
当登录
页面到达时,我正在使用此公共标题。我的问题是,当用户试图进入登录
页面时,他似乎也看到了主页
链接
我需要在登录页面中同时隐藏
主页链接
和订阅链接
。如何隐藏这两个a
元素?正如@Rory所提到的,您应该更喜欢在服务器端进行操作。
但是,如果您想在JQuery中执行此操作,请确保您的href具有唯一的id。
假设您的主链接id为“Home”,那么您可以使用
$(“#home”).Hide()
和类似的$(“#home”).Show()
使其可见。正如@Rory所提到的,您应该更喜欢在服务器端执行。
但是,如果您想在JQuery中执行此操作,请确保您的href具有唯一的id。
假设您的主链接id为“Home”,那么您可以使用
$(“#home”).Hide()
和类似的$(“#home”).Show()
使其可见。可以为视图创建视图模型类并将其指定给视图。通过设置IsSignedIn
属性true/false,可以将模型从控制器传递到视图
public class MyViewModel
{
bool IsSignedIn{get;set;}
}
@model MyViewModel
<div id="navigation">
<ul>
@if(Model.IsSignedIn)
{
<li><a href="/home.html?sign=true">Home</a></li>
}
<li><a href="/jobs.html">Tests</a></li>
<li><a href="/vps.html">Jobs1</a></li>
<li><a href="/ust.html">Jobs2</a></li>
@if(Model.IsSignedIn)
{
<li><a href="/sub.html">Subscription</a></li>
}
</ul>
</div>
公共类MyViewModel
{
bool IsSignedIn{get;set;}
}
@模型MyViewModel
@if(型号IsSignedIn)
{
}
@if(型号IsSignedIn)
{
}
您可以为视图创建视图模型类并将其指定给视图。通过设置IsSignedIn
属性true/false,可以将模型从控制器传递到视图
public class MyViewModel
{
bool IsSignedIn{get;set;}
}
@model MyViewModel
<div id="navigation">
<ul>
@if(Model.IsSignedIn)
{
<li><a href="/home.html?sign=true">Home</a></li>
}
<li><a href="/jobs.html">Tests</a></li>
<li><a href="/vps.html">Jobs1</a></li>
<li><a href="/ust.html">Jobs2</a></li>
@if(Model.IsSignedIn)
{
<li><a href="/sub.html">Subscription</a></li>
}
</ul>
</div>
公共类MyViewModel
{
bool IsSignedIn{get;set;}
}
@模型MyViewModel
@if(型号IsSignedIn)
{
}
@if(型号IsSignedIn)
{
}
在客户端执行此操作不是一个好做法。你应该根据授权来做
尽管您可以在客户端这样做:
jQuery('#navigation ul li:first').hide();
jQuery('#navigation ul li:last').hide();
在客户端这样做不是一个好的做法。你应该根据授权来做 尽管您可以在客户端这样做:
jQuery('#navigation ul li:first').hide();
jQuery('#navigation ul li:last').hide();
我的意思是,我有用于签名用户名和其他名称的会话变量
详细信息。那么如何使用此选项隐藏链接详细信息–Sush
由于您有会话变量,因此可以使用相同的变量隐藏链接。这可以通过使用if条件来实现
仅当包含用户详细信息的会话变量不为空时,才显示链接。
您可以使用脚本
if(session.username>0)
{
<a href="/home.html?sign=true">Home</a>
<a href="/sub.html">Subscription</a>
}
if(session.username>0)
{
}
这不是正确的语法。这只是一个例子
我的意思是,我有用于签名用户名和其他名称的会话变量
详细信息。那么如何使用此选项隐藏链接详细信息–Sush
由于您有会话变量,因此可以使用相同的变量隐藏链接。这可以通过使用if条件来实现
仅当包含用户详细信息的会话变量不为空时,才显示链接。
您可以使用脚本
if(session.username>0)
{
<a href="/home.html?sign=true">Home</a>
<a href="/sub.html">Subscription</a>
}
if(session.username>0)
{
}
这不是正确的语法。仅举一个示例。在您的登录页面中添加一个新脚本,它应该按照脚本的顺序排列,以便可以覆盖其他类似的脚本
<head>
<script></script>
<script></scrtipt>
<script src="hide.js"></script>
</head>
在您的登录页面中添加一个新脚本,它应该按照脚本的顺序排列,这样它就可以覆盖像这样的其他脚本
<head>
<script></script>
<script></scrtipt>
<script src="hide.js"></script>
</head>
将id设置为home和subscription链接,并将以下jquery放置在登录页面标题中。
jquery
------------------------------------
$(文档).ready(函数(e){
$(“#link1,#link2”).hide();
});
html:
---------------------------
将id设置为home、subscription链接,并将以下jquery置于登录页面标题中。
jquery
------------------------------------
$(文档).ready(函数(e){
$(“#link1,#link2”).hide();
});
html:
---------------------------
推荐:
<div id="navigation">
<ul>
<?php if(isset($_SESSION)){
<li><a href="/home.html?sign=true">Home</a></li>
} ?>
<li><a href="/jobs.html">Tests</a></li>
<li><a href="/vps.html">Jobs1</a></li>
<li><a href="/ust.html">Jobs2</a></li>
<?php if(isset($_SESSION)){
<li><a href="/sub.html">Subscription</a></li>
} ?>
</ul>
</div>
建议:
<div id="navigation">
<ul>
<?php if(isset($_SESSION)){
<li><a href="/home.html?sign=true">Home</a></li>
} ?>
<li><a href="/jobs.html">Tests</a></li>
<li><a href="/vps.html">Jobs1</a></li>
<li><a href="/ust.html">Jobs2</a></li>
<?php if(isset($_SESSION)){
<li><a href="/sub.html">Subscription</a></li>
} ?>
</ul>
</div>
如果您的用户正在登录您的站点,您应该在服务器端根据他们的会话凭据而不是javascript进行登录。是否有可能在jquery中进行登录。这是完全可能的,但它不会阻止人们查看页面的源代码,以查看他们需要进入哪些登录受限页面。此外,如果他们禁用了javascript,您的安全性将消失。只需保存在cookie或本地存储中,但这实际上应该在服务器端完成。在客户端这样做对人类来说是一种犯罪,这是真的。您可以检查会话变量的状态,并为所需的
标记编写一个if条件。如果您的用户正在登录您的站点,您应该在服务器端根据他们的会话凭据这样做,不在javascript中。有没有可能在jquery中这样做。这是完全可能的,但它不会阻止人们查看页面的源代码,看看他们需要去哪里才能进入受登录限制的页面。此外,如果他们禁用了javascript,您的安全性将被关闭。只需保存在cookie或本地存储中,但这实际上应该在s中完成