如何检测是否在主页上隐藏按钮
How to Detect if On Homepage to hide a button
如果我有一个静态的HTML主页,有没有办法嵌入一些Javascript来查看我是否在主页上?我想做的是,如果用户不在主页上,在我的导航栏上显示一个"主页"按钮。因此,一旦我知道他是否在主页上,我就可以使用 if-else 语句。不熟悉如何在Javascript中执行此操作。我会在 PHP 中执行此操作,但由于项目的限制,我不允许使用 PHP。这个网站是纯HTML页面。
我需要Javascript来检测页面的原因是因为所有页面,包括主页都是同一个模板(同样,不是我的决定)。如果不是这样,我可以为每个页面创建一个模板,但主页除外。所以这给我留下了一个问题。
我目前的想法是使用这样的东西:
<script type="text/javascript">
var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
if(sPage != "index.html"){
$turnonhomelink=true;
}
else{
$turnonhomelink=false;
}
</script>
然后对于链接:
<script type="text/javascript">
if ($turnonhomelink==true){
echo '<li><a href="#">Home</a></li>';
}
else{
//echo nada
}
</script>
除了正常的"如果Javascript不打开,这将不起作用"之外,我还缺少什么吗?
我最关心的一句话是这样的:if(sPage != "index.html")
需要注意的是,这个网站只有 1 层深度链接(所有 HTML 页面都在一个目录中),但这是在 Javascript 中比较字符串的正确方法吗?
我可以建议绝对不需要javascriptr来实现这一点。有很多方法可以只用 css 来做到这一点。特别是如果你在一个静态的html页面上。最简单的方法是在你的身体标签上添加一个id,以表明你在hompegae上。然后添加一些css以使主页按钮在此页面上不可见。像这样
:.HTML:
<body id="homepage">
...
<li id='home-button'>
<a href='/index.htm'>Home</a>
</li>
...
.CSS:
#homepage #home-button {
display: none;
}
这样,禁用js的visistors可以获得与普通访问者相同的体验...
这应该没问题。另外,在html中的哪个点,您是否进行此检查很重要(对于url包含"index.html"),通常您可以创建一个函数doAfterLoad()并调用doAfterLoad()可以检查url子字符串,然后相应地显示/隐藏主页链接。您也可以使用 HTML Body onLoad 事件。
PS:在 js 中,即使它是一个有效的 var 名称,你也不需要在 var 后面跟 $ 前缀:$turnonhomelink==真
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 显示5秒后隐藏潜水
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 浮动页脚栏-使用Bootstrap隐藏
- 在jquery中为显示/隐藏设置cookie
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 从var向代码隐藏函数传递值
- Image赢得't隐藏在滚动jQuery上
- 具有rowGrouping的数据表无法隐藏列
- Jquery隐藏未触发
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 分部隐藏在jquery中不起作用
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- javascript.点击隐藏事件故障
- 如何检测是否在主页上隐藏按钮
- 在主页上隐藏WordPress主题的一部分
- 隐藏 tumblr 博客上的主页提要
- 如何在导航栏(主页)隐藏链接
- 从主页打开后,子页面隐藏