OSDN Git Service

fixed : when searchng diary, still not load yet, show error message.
authorElixirel <elixirel@users.sourceforge.jp>
Sun, 22 Nov 2009 03:41:48 +0000 (12:41 +0900)
committerElixirel <elixirel@users.sourceforge.jp>
Sun, 22 Nov 2009 03:41:48 +0000 (12:41 +0900)
js/lunardial/feedblog.js
search.html
xml/samplelog.xml

index 03227ff..9a35b36 100644 (file)
@@ -113,7 +113,7 @@ function Entry(obj){
  * 呼び出すとDIV:id名:writeArea上のHTMLを削除し、ロードエフェクトを表示します
  */
 function loadingEffect(){
-    document.getElementById("writeArea").innerHTML = '<br/><br/><div id="drawPanel"><div id="drawItem" class="code" style="text-align: center;"><\/div><\/div>';
+    document.getElementById("writeArea").innerHTML = '<div id="drawPanel"><div id="drawItem" class="code" style="text-align: center;"><\/div><\/div>';
     document.getElementById("drawItem").innerHTML = '<br/><br/>長時間画面が切り替わらない場合はページをリロードしてください。<br/><br/>';
     
     // ロード表示用のパネルを生成
@@ -261,6 +261,9 @@ function searchMode(urlhash){
                 filelist[i] = separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue;
             }
             
+            // 終端まで検索した日記XMLファイルの数を格納する変数
+            var searchFileNumbers = 0;
+            
             // ファイルパス配列に格納されているすべての日記に対し、探索を開始する
             for (var i = 0; i < separateTag.length; i++) {
                 // ファイルパス配列の要素からリクエストを生成し、対象データをロードする
@@ -299,18 +302,27 @@ function searchMode(urlhash){
                                 // 探索されたパネルはオープン状態で展開する
                                 generatePanel(entry.title + " / " + entry.date, "drawItem", "drawPanel", false);
                                 
-                                break;
+                                return true;
                             }
+                            else 
+                                if (j == searchSeparateTag.length - 1) {
+                                    // 日記を最後まで検索してもファイルが見つからなかった場合、検索済み日記ファイル数に1加算する
+                                    searchFileNumbers = searchFileNumbers + 1;
+                                    
+                                    // もうファイルがない場合はエラーを表示する
+                                    if (searchFileNumbers == separateTag.length) {
+                                        // ファイルパス配列から日記が見つからなかった場合の処理
+                                        document.getElementById("writeArea").innerHTML = '<div id="drawPanel"><div id="drawItem" class="code"><\/div><\/div>';
+                                        document.getElementById("drawItem").innerHTML = "指定された日記は存在しません。";
+                                        
+                                        // エラー内容を表示する
+                                        generatePanel("Search Failed.", "drawItem", "drawPanel", false);
+                                    }
+                                }
                         }
                     }
                 });
             }
-            // ファイルパス配列から日記が見つからなかった場合の処理
-            document.getElementById("writeArea").innerHTML = '<br/><br/><div id="drawPanel"><div id="drawItem" class="code"><\/div><\/div>';
-            document.getElementById("drawItem").innerHTML = "指定された日記は存在しません。";
-            
-            // エラー内容を表示する
-            generatePanel("Search Failed.", "drawItem", "drawPanel", false);
         }
     });
 }
index f02067d..b566afd 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>日記検索フォームサンプル</title>
-        <link rel="alternate" type="application/atom+xml" title="Atom" href="./xml/diary.xml"/>
-        <script type="text/javascript" src="./js/jquery/jquery-1.3.2.min.js">
-        </script>
-        <script type="text/javascript" src="./js/lunardial/feedblog_search.js">
-        </script>
-        <style type="text/css">
-            body {
-                font-size: 12px;
-                line-height: 18px;
-                color: #004488;
-                margin-top: 30px;
-                margin-bottom: 30px;
-            }
-            
-            td.default {
-                font-size: 12px;
-                line-height: 18px;
-                color: #004488;
-                border: 1px solid #8888ff;
-                text-align: left;
-                vertical-align: top;
-            }
-            
-            div {
-                text-align: left;
-            }
-            
-            form {
-                text-align: left;
-            }
-            
-            td.header {
-                margin: 0px;
-                padding: 0px;
-                border: 1px solid #a8a8ff;
-                padding: 4px;
-                font-weight: bold;
-                background-color: #ffffff;
-            }
-            
-            td.content {
-                margin: 0px;
-                padding: 0px;
-                border: 1px solid #a8a8ff;
-                background-color: #ffffff;
-            }
-            
-            div.code {
-                background: #f8f8ff;
-                border: 1px solid #c8c8ff;
-                padding: 10px;
-                margin: 10px;
-                margin-left: 0px;
-                border-left: 5px solid #e8e8ff;
-                font-size: 12px;
-                line-height: 18px;
-            }
-            
-            table.pager {
-                padding: 0px;
-                margin: 0px;
-                border: 1px solid #8888ff;
-            }
-            
-            td.searchform {
-                border: 1px solid #8888ff;
-                padding: 10px;
-            }
-            
-            td.resultarea {
-                border: 1px solid #8888ff;
-                padding: 5px;
-            }
-        </style>
-    </head>
-    <body>
-        <center>
-            <table align="center" style="width: 800px;">
-                <tbody>
-                    <tr>
-                        <td class="default" colspan="2" style="height: 150px; padding: 5px; text-align: right; vertical-align: bottom;">
-                            <span style="font-size: 20px; font-weight: bold;">[ タイトルを入れてください ]</span>
-                            <br>
-                            [ 説明文を入れてください ]
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <br/>
-            <table>
-                <tbody>
-                    <tr>
-                        <td>
-                            <div id="genForm">
-                            </div>
-                            <div id="resultArea">
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-        </center>
-    </body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<html>\r
+    <head>\r
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
+        <title>日記検索フォームサンプル</title>\r
+        <link rel="alternate" type="application/atom+xml" title="Atom" href="./xml/diary.xml"/>\r
+        <script type="text/javascript" src="./js/jquery/jquery-1.3.2.min.js">\r
+        </script>\r
+        <script type="text/javascript" src="./js/lunardial/feedblog_search.js">\r
+        </script>\r
+        <style type="text/css">\r
+            body {\r
+                font-size: 12px;\r
+                line-height: 18px;\r
+                color: #004488;\r
+                margin-top: 30px;\r
+                margin-bottom: 30px;\r
+            }\r
+            \r
+            td.default {\r
+                font-size: 12px;\r
+                line-height: 18px;\r
+                color: #004488;\r
+                border: 1px solid #8888ff;\r
+                text-align: left;\r
+                vertical-align: top;\r
+            }\r
+            \r
+            div {\r
+                text-align: left;\r
+            }\r
+            \r
+            form {\r
+                text-align: left;\r
+            }\r
+            \r
+            td.header {\r
+                margin: 0px;\r
+                padding: 0px;\r
+                border: 1px solid #a8a8ff;\r
+                padding: 4px;\r
+                font-weight: bold;\r
+                background-color: #ffffff;\r
+            }\r
+            \r
+            td.content {\r
+                margin: 0px;\r
+                padding: 0px;\r
+                border: 1px solid #a8a8ff;\r
+                background-color: #ffffff;\r
+            }\r
+            \r
+            div.code {\r
+                background: #f8f8ff;\r
+                border: 1px solid #c8c8ff;\r
+                padding: 10px;\r
+                margin: 10px;\r
+                margin-left: 0px;\r
+                border-left: 5px solid #e8e8ff;\r
+                font-size: 12px;\r
+                line-height: 18px;\r
+            }\r
+            \r
+            table.pager {\r
+                padding: 0px;\r
+                margin: 0px;\r
+                border: 1px solid #8888ff;\r
+            }\r
+            \r
+            td.searchform {\r
+                border: 1px solid #8888ff;\r
+                padding: 10px;\r
+            }\r
+            \r
+            td.resultarea {\r
+                border: 1px solid #8888ff;\r
+                padding: 5px;\r
+            }\r
+        </style>\r
+    </head>\r
+    <body>\r
+        <center>\r
+            <table align="center" style="width: 800px;">\r
+                <tbody>\r
+                    <tr>\r
+                        <td class="default" colspan="2" style="height: 150px; padding: 5px; text-align: right; vertical-align: bottom;">\r
+                            <span style="font-size: 20px; font-weight: bold;">[ タイトルを入れてください ]</span>\r
+                            <br>\r
+                            [ 説明文を入れてください ]\r
+                        </td>\r
+                    </tr>\r
+                </tbody>\r
+            </table>\r
+            <br/>\r
+            <table>\r
+                <tbody>\r
+                    <tr>\r
+                        <td>\r
+                            <div id="genForm">\r
+                            </div>\r
+                            <div id="resultArea">\r
+                            </div>\r
+                        </td>\r
+                    </tr>\r
+                </tbody>\r
+            </table>\r
+        </center>\r
+    </body>\r
+</html>\r
index c239284..b6a41d3 100644 (file)
@@ -1,27 +1,27 @@
-<?xml version="1.0" encoding="utf-8"?>
-<feed xml:lang="ja-jp" xmlns="http://www.w3.org/2005/Atom">
-
-<title type="text">さんぷる</title>
-<subtitle type="text">このファイルはサンプルのファイルです。</subtitle>
-<link rel="self" type="application/atom+xml" href="http://www.yourdomain.com/xml/diary.xml" />
-<link rel="alternate" type="text/html" href="http://www.yourdomain.com/index.html" />
-<updated>2009-06-06T21:45:26+09:00</updated>
-<id>http://www.yourdomain.com/index.html</id>
-<rights type="text">Copyright (c) YYYY, [Please input your name.]</rights>
-<author>
-    <name>Please input your name.</name>
-    <email>Please input your e-mail.</email>
-</author>
-
-<entry>
-<id>http://www.yourdomain.com/index.html?2008-09-24T21:03:15+09:00</id>
-<title>ログファイルてすと</title>
-<summary>このログファイルはテストです。</summary>
-<published>2008-09-24T21:03:18+09:00</published>
-<updated>2009-06-06T21:48:16+09:00</updated>
-<link href="./index.html#http://www.yourdomain.com/index.html?2008-09-24T21:03:15+09:00" />
-<content type="html"> ログファイルの代わりです&lt;br&gt;
-</content>
-</entry>
-
+<?xml version="1.0" encoding="utf-8"?>\r
+<feed xml:lang="ja-jp" xmlns="http://www.w3.org/2005/Atom">\r
+\r
+<title type="text">さんぷる</title>\r
+<subtitle type="text">このファイルはサンプルのファイルです。</subtitle>\r
+<link rel="self" type="application/atom+xml" href="http://www.yourdomain.com/xml/diary.xml" />\r
+<link rel="alternate" type="text/html" href="http://www.yourdomain.com/index.html" />\r
+<updated>2009-06-06T21:45:26+09:00</updated>\r
+<id>http://www.yourdomain.com/index.html</id>\r
+<rights type="text">Copyright (c) YYYY, [Please input your name.]</rights>\r
+<author>\r
+    <name>Please input your name.</name>\r
+    <email>Please input your e-mail.</email>\r
+</author>\r
+\r
+<entry>\r
+<id>http://www.yourdomain.com/index.html?2008-09-24T21:03:15+09:00</id>\r
+<title>ログファイルてすと</title>\r
+<summary>このログファイルはテストです。</summary>\r
+<published>2008-09-24T21:03:18+09:00</published>\r
+<updated>2009-06-06T21:48:16+09:00</updated>\r
+<link href="./index.html#http://www.yourdomain.com/index.html?2008-09-24T21:03:15+09:00" />\r
+<content type="html"> ログファイルの代わりです&lt;br&gt;\r
+</content>\r
+</entry>\r
+\r
 </feed>
\ No newline at end of file