We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21684
    • 46 Posts
    プログラムに関して全くの素人なので、症例を挙げることくらいしか出来ませんが、
    試せることがあればテストしますので、よろしくお願いします。
      • 20953
      • 70 Posts
      Ajaxの有効・無効はどうやって切り替えているのでしょうか?
      何となく、動いてると言って喜んでいたのですが、ajaxが効いてない様な気がしてきました(そう言えば検索中のぐるぐる回るアニメとか見えないし…)。
      <script src="assets/snippets/flexsearchform-ajax/ajaxSearch.js" type="text/javascript"></script>
      はテンプレに張っているのですが…それ以外に何か必要なのでしょうか?

      後、with Ajaxのスニペットを設置したページのソースを見ると、(スニペットから呼び出された)javascriptの上にコメント欄が10個もついているのも気になります。もしかして、実はうまいこと動いていないのにとんでもない勘違いをして喜んでいるのでしょうか?
        • 29228
        • 109 Posts
        Quote from: naoya at Apr 07, 2006, 04:35 AM

        Ajaxの有効・無効はどうやって切り替えているのでしょうか?
        [!FlexSearchForm-ajax?ajaxSearch=1!]

        のajaxSearchを0にするんじゃないかな?
        実際にやってないので嘘言ってるかもしれませんが。 lipsrsealed

        prototype.jsとscriptaculous.jsが必要だったと思います。
        <script src="manager/media/script/scriptaculous/prototype.js" type="text/javascript"></script>
        <script src="manager/media/script/scriptaculous/scriptaculous.js" type="text/javascript"></script>
          • 21684
          • 46 Posts
          takumiさん記述の方法で出来ます。

          naoyaさんの
          >タグ1つだけで使えるし、リザルトのページを用意しなくていい
          っていうのは、ノーマルでも出来ることなので、気になってはいました。
          ajaxの利点は、ページのリロードをしなくてもいいことじゃないでしょうか。

          あと、文字化けってことで一つ。
          rssの生成にNewsFeedを使われているなら、デフォルトで文字化けします。
          特にsafariでは必ず化けます。
          xmlのencodingがISO-8859-1、languageがenで決めうちされているためです。
          safariはご認識したままutf-8に変換して出力するのでばけます。
          スニペットを直接編集してください。
          適当なエディタにコピペして検索すれば、該当箇所はすぐに分かると思います。
          直したあとにsafariのキャッシュを空にするのをお忘れなく。
            • 20953
            • 70 Posts
            全面的に修正。
            AjaxのidをいじっていたのでAjaxが動いていませんでした。
            情報を混乱させて申し訳ないです。

            で、ようやくと話題の中身についていけました。確かに日本語が通らず、文字化けしますね。

            Quote from: nobokonoko at Apr 07, 2006, 06:01 AM

            naoyaさんの
            >タグ1つだけで使えるし、リザルトのページを用意しなくていい
            っていうのは、ノーマルでも出来ることなので、気になってはいました。
            ajaxの利点は、ページのリロードをしなくてもいいことじゃないでしょうか。

            あ、ノーマルでも結果を検索ページに直接返せるのですか…それは知りませんでした。
            Ajax版を入れて最初に「あ、楽々」と思ったのでAjax版のみの機能かと思っていたもので。

            今NewsFeedをとりあえず見てみると…「XML パースエラー: 外部実体の初めに XML 宣言がありません。」と怒られました。
            ちなみにデフォルトのテンプレで、デフォルトのNewsFeedでも怒られます…はぁ…ソースだとrssは書き出しているようですが…
              • 8382
              • 253 Posts
              えーと、原因わかっちゃいました。
              ajaxSearch.jsの中でPHPにパラメータを渡すところ、Line 58で、escape()してるのが原因です。
              このescape()をencodeURIComponent()に変えるとOKでした。
              ただし、UTF-8でやってる人だけかも知れません。
              EUCやJISの人は受け取り側のajaxSearch.PHPでmb_convert_encoding()すればいいと思います。

              なんでわたしのところでOKだったか?nobokonokoさんの言うとおりajaxが途中で失敗して通常のFSFになっていたためでした。
              takumiさんもid="sub"が無いため、ajaxは失敗しているのでしょう。
              こりゃbugreport書かないといけませんね。英語は苦手だ。takumiさん書きませんか?

              緊急追伸
              IEだけOKでした。FFやsafariはこれからいじってみます。限定情報ごめんなさい。

              さらに追伸
              上記のescape()の修正だけで、クライアントWin IE/FF MacOSX FF/safariで問題なく日本語検索/w Ajaxができることを確認しました。皆様お試しください。
                • 20953
                • 70 Posts
                Quote from: eastbind at Apr 07, 2006, 07:50 AM

                ただし、UTF-8でやってる人だけかも知れません。
                EUCやJISの人は受け取り側のajaxSearch.PHPでmb_convert_encoding()すればいいと思います。
                [中略..]
                上記のescape()の修正だけで、クライアントWin IE/FF MacOSX FF/safariで問題なく日本語検索/w Ajaxができることを確認しました。皆様お試しください。

                EUC-JPの場合のajaxSearch.PHPの修正個所はどこでしょうか?教えて頂けると幸いです。
                  • 21684
                  • 46 Posts
                  >>naoyaさん。
                  203鯖なら僕とほぼ同じスペックですね。僕は204です。
                  僕はその設定プラスid=sub消しで日本語検索できてます。

                  検索ボタンを押してページ全体がリロードされるなら、ajax効いてません。
                  リロードされずに検索結果がビヨーンと出てくるなら効いていると思います。

                  ノーマル版でもリザルトページを指定しなければ同一ページで検索できるはずです。
                  Ajax版のみの機能ですと、検索先のページの抜粋文を表示できるところでしょうか。ajax関係ないけど。

                  >>eastbindさん
                  同じくeuc-jp環境なのですが、具体的にどのような変更をすればよいのでしょうか?



                  ずっとestablishさんだと思ってました。
                    • 29228
                    • 109 Posts
                    Quote from: eastbind at Apr 07, 2006, 07:50 AM

                    ajaxSearch.jsの中でPHPにパラメータを渡すところ、Line 58で、escape()してるのが原因です。
                    このescape()をencodeURIComponent()に変えるとOKでした。
                    来ました! grin
                    バッチリです。

                    うぅ~ん・・。bugreportですか?(^^;
                    これは2byte文字圏からの要望って事で良いんですかね?
                    (1byte文字の方達にはバグではないし。)
                    中国の方って大丈夫なんですかね huh
                      • 20953
                      • 70 Posts
                      >>nobokonokoさん

                      id="sub"を消すと文字化けはしないのですが、Ajaxは(スクリプトの最後まで)動いていない様な気がします。
                      表示が「ぬるり」と出ず、スパット表示されている様なので、途中でFSFの表示になっている様な気がします。

                      id="sub"入りだと、文字化けは…壮絶ですね。

                      ちなみに、EUC-JP環境ではjsの変更では改善しませんでした。