0

Webサイトの特定の1つのページにのみ特定のパネルを表示し、残りのページには非表示にする、機能する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にスラッシュがない場合でも、サーバー名に末尾のスラッシュを追加します。コードが記述どおりに機能するには、一致が正確である必要があります。

もう1つのオプションは、を比較するdocument.location.pathnameことです。これには、サーバー名の後にすべてが含まれます。大文字と小文字を区別しない比較を行う場合は、を使用できます document.location.pathname.toLowerCase()

于 2013-02-24T16:28:45.450 に答える