ツリー化スクリプト不具合対処(Serene Bach / sb)

ツリー化スクリプト不具合対処(Serene Bach / sb)

Posted at January 26,2006 11:51 PM
Tag:[Customize, sb, SereneBach, Tree]

個別エントリー用HTMLでのサブカテゴリーツリー(対処前)Serene Bach / sb でツリー化スクリプトを利用した場合、個別エントリー用HTMLでスクリーンショットのようにサブカテゴリーリストのツリーが正常に表示されない(リストマークが二重で表示される)という情報を頂きました。

Serene Bach / sb の個別エントリー用HTMLではサブカテゴリーツリーにJavaScriptを使っておりまして、ツリー化スクリプトがそのJavaScriptをうまく解析できていなかった、というのが原因です。具体的には、サブカテゴリーリストで初回に出現する要素が ul であればツリー表示用の class 属性を追加していますが、個別エントリー用HTMLのサブカテゴリーツリー表示スクリプトでは script 属性が初回に出現し、そのケースでの処理がもれていました(つまりツリーが表示されない)。

修正したスクリプトに差し替えましたので、下記のリンク先にある maketree.js をダウンロードしてください。

download

なお修正箇所は下記の通りです。

--- maketree.js.bak     Wed Jan 25 23:54:52 2006
+++ maketree.js Wed Jan 25 23:55:49 2006
@@ -27,9 +27,12 @@
     }
 
     // 最初の要素がULの場合, class属性(tree)を設定
-    if(nodes[0].nodeName == 'UL'|| nodes[0].nodeName == 'ul'){
-        nodes[0].setAttribute('class', 'tree');
-        nodes[0].setAttribute('className', 'tree');
+    for (var i = 0; i < nodes.length; i++) {
+        if(nodes[i].nodeName == 'UL'|| nodes[i].nodeName == 'ul'){
+            nodes[i].setAttribute('class', 'tree');
+            nodes[i].setAttribute('className', 'tree');
+            break;
+        }
     }
 
     for (var i = 0; i < nodes.length; i++) {
個別エントリー用HTMLでのサブカテゴリーツリー(対処後)ツリー化スクリプトをver1.05以降のものに差し替えることで、個別エントリー用HTMLページでも左のように正常に表示されるようになります。
関連記事
トラックバックURL


トラックバック

サイドメニューのツリー化 from てぃあら
昨日 に引き続き、気になってた「サイドメニューのツリー化」を導入。 ⇒ 小粋空間 : サイドメニューのツリー化スクリプト(改)( ̄-  ̄ ) ンー... [続きを読む]

Tracked on January 27, 2006 7:32 AM
コメント

ごめんなさい、修正スクリプトはこちらだったんですね。
失礼しました。早速差し替えたいと思います。
ありがとうございました。

[1] Posted by さえら : January 27, 2006 7:24 AM

たびたびすみません、↑ さえらです。また名前がバケるようになりました。
毎回、すんごいバケバケの名前が 勝手に入ってしまうので、手動で書き直す必要があります。
これって ほかのかたでは 起こらない現象なんでしょうか?あたしだけ?
もちろん、お名前が 半角英数字だけのかたは こんなことにはならないのでしょうけど
ひらがなや漢字のお名前のかた、同じことに なってないのかなぁ。
どなたも このところに言及されてないので、自分だけかしらと心配になってきます。

[2] Posted by さえら : January 27, 2006 7:37 AM

>さえらさん
こんにちは。
ご迷惑おかけしてすいません。
文字化けの件については他の方から連絡はありませんが .htaccess で文字コードを常にUTF-8で取得できるように設定してみます(今晩あたり)のでブラウザのクッキーを一旦クリアして頂けると有り難いです(Firefoxなら項目毎に削除できます)。

以上です。
それではよろしくお願い致します。

[3] Posted by yujiro : January 27, 2006 12:43 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)