0

セクションは foo.com/agriculture です。JavaScript の名前に対応するバナー画像があります。内部ページ foo.com/agriculture/harvest には、foo.com/agriculture とは別のバナーが必要です。各ページのバナー スワップ用に使用しているスクリプトは次のとおりです。

<script type="text/javascript"> 
var dir = location.pathname.split("/")[1]; 
//var dir2 = location.pathname;
if (dir == "agriculture")        
document.write('<IMG SRC="/images/ib_agriculture.jpg" WIDTH=1024 HEIGHT=91 BORDER=0>')  
else if (dir == "showcase")
document.write('<IMG SRC="/images/ib_show.jpg" WIDTH=1024 HEIGHT=91 BORDER=0>')  
else if (dir == "contact")      
document.write('<IMG SRC="/images/ib_contact.jpg" WIDTH=1024 HEIGHT=91 BORDER=0>')   
else if (dir == "distribution")     
</script>

次のさまざまなコードを試して、内部ページ foo.com/agriculture/harvest に別のバナーを割り当ててみました。

var dir = location.pathname.split("/")[1]; 
//var dir2 = location.pathname;
if (dir == "agriculture/harvest")        
document.write('<IMG SRC="/images/ib_agriculture_harvest.jpg" WIDTH=1024 HEIGHT=91 BORDER=0>')  
else if (dir == "showcase") 

var dir = location.pathname.split("/")[1]; 
//var dir2 = location.pathname;
if (dir == "harvest")        
document.write('<IMG SRC="/images/ib_agriculture_harvest.jpg" WIDTH=1024 HEIGHT=91 BORDER=0>')  
else if (dir == "showcase") 

上記のスクリプトは両方とも、呼び出された foo.com/agriculture/harvest (ib_agriculture_harvest.jpg) ではなく、foo.com/agriculture バナー (ib_agriculture.jpg) を取得し続けます。ページごとに適切なバナーを呼び出すスクリプトを取得する方法がわかりません。

4

1 に答える 1

0

pathname.split を呼び出すと、次のような配列が得られます。

["foo.com", "agriculture", "harvest"]

dir次に、インデックス 1 のアイテムを取得して変数に入れます。

var dir = location.pathname.split("/")[1]

したがって、dir「収穫」も URL の一部ですが、の値は「農業」です。その文字列を確認するには、を使用する必要がありますlocation.pathname.split("/")[2]

または、これを行うことができます:

var parts = location.pathname.split("/");
var dir = parts[1]; 
if (parts.length > 2)
{
     dir += "/" + parts[2];
}
if (dir == "agriculture/harvest")        
     document.write('<IMG SRC="/images/ib_agriculture_harvest.jpg" WIDTH=1024 HEIGHT=91 BORDER=0>')  
于 2012-11-13T19:30:14.380 に答える