0

我需要一个有效的 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>

根据我查过的示例代码,这一切似乎都是合理的,但显然某处存在错误。没发生什么事。

感谢您的检查!

4

2 回答 2

1

问题是 onload 事件不能用于 DIV 元素。onload 只能用于文档正文或外部资源(iframe、图像、脚本)。

最好的办法是将 JavaScript 放在页面底部。

例如

<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>
于 2013-02-24T16:27:52.117 回答
0

document.location.href通过在控制台中输入来检查页面上的真正内容(F12通常)。例如,即使 URL 中没有斜杠,大多数浏览器也会在服务器名称上添加尾部斜杠。匹配必须准确,您的代码才能按书面方式工作。

另一个选项是 compare document.location.pathname,它将在服务器名称之后包含所有内容。如果要进行不区分大小写的比较,可以使用 document.location.pathname.toLowerCase().

于 2013-02-24T16:28:45.450 回答