2011年5月6日金曜日

URLからページ名を作成する<その2>階層・部分一致

前提:URLからページ名を作成する<その1>を利用

■ページ名命名要件
www.domain.com/cart/entry → cart:entery
www.domain.com/cart/confirm/step1/ → cart:confirm
www.domain.com/cart/confirm/step2/ → cart:confirm
www.domain.com/cart/confirm/step3/ → cart:confirm
www.domain.com/cart/complete → cart:complete

・全てのページ名は2階層までとする場合
var hier01=s.pageName.split(":")[0]
var hier02=s.pageName.split(":")[1]
if(hier02){
s.pageName=hier01+":"+hier02
}else{
s.pageName=hier01
}
<解説>
//ページ名をコロン(:)で分割した1階層目をhier01とする
var hier01=s.pageName.split(":")[0]
//ページ名をコロン(:)で分割した2階層目をhier02とする
var hier02=s.pageName.split(":")[1]
//2階層目が存在すれば、ページ名に1階層目:2階層目を代入する
if(hier02){
s.pageName=hier01+":"+hier02
//2階層目が存在しない場合、ページ名に1階層目を代入する
}else{
s.pageName=hier01
}


・cart:confirmが含まれる場合は、cart:confirmとすると指定する場合

 matchを使う場合
if(s.pageName.match(/cart:confirm/))s.pageName="cart:confirm"

 indexOfを使う場合
if(s.pageName.indexOf("cart:confirm")>-1)s.pageName="cart:confirm"

※matchよりindexOfの方が処理が早いという話もあります。

<その1><その3>参照

0 件のコメント:

コメントを投稿