我需要一个有效的javascript代码,只在我网站上的某个特定页面上显示某个面板,并将其隐藏在其余部分。这是一个论坛风格的设置。
这是我到目前为止所得到的。
<script type="text/javascript">
function ShowPanel()
{
if(document.location.href == "http://www.exampleurl.com")
{document.getElementById("panel").style.display = "block";}
else
{document.getElementById("panel").style.display = "none";}
}
</script>
<div id="panel" onload="ShowPanel">
Example text.
</div>
根据我查找的示例代码,所有这些似乎都是合理的,但显然在某处有错误。没有任何事情发生。
感谢您的检查!
答案 0 :(得分:1)
问题是onload事件不能在DIV元素上使用。 onload只能在文档正文或外部资源(iframe,图像,脚本)上使用。
最好的办法是将JavaScript放在页面底部。
e.g。
<div id="panel">
Example text.
</div>
<script language="JavaScript">
if(document.location.href == "http://www.exampleurl.com"){
document.getElementById("panel").style.display = "block";
}
else {
document.getElementById("panel").style.display = "none";
}
</script>
答案 1 :(得分:0)
通过在控制台中键入document.location.href
确实在页面上的内容(通常是 F12 )。例如,大多数浏览器会将尾部斜杠添加到服务器名称中,即使URL中没有。匹配必须与您的代码完全一致才能正常工作。
另一个选择是比较document.location.pathname
,它将包含服务器名称之后的所有内容。如果您想进行不区分大小写的比较,可以使用document.location.pathname.toLowerCase()
。