ファイルアップロードでプログレスバーが、表示されることはされるのですが最初の数秒動いてからバーのメータが一気に最後まで行ってしまいます。
バーが終了していてもファイルのアップロード自体が終わらないため次の画面に行きません。アップロード自体が終わると確認画面になります。
SafariとIE両方、同じです。
どなたか分かる方いらっしゃいますか?
ご質問ありがとうございます。
ご指摘の症状を確認しました。最近公開したバージョンからなんらかの不具合があるようです。ご不便をおかけいたしますが、現在原因を調査中です。原因がわかりしだい修正版を公開いたしますm(_ _)m。
〈追記〉
Windows7 + IE6-10 ではご指摘の症状を再現できませんでした。問題なく動作しているようです。
プログレスバーに表示される進捗状況は、iframe を通じて取得されます。そのため、IEのセキュリティ設定で iframe の表示およびスクリプトの動作に制限がかかっていると、一定時間後にプログレスバーが消去されます。
IEのセキュリティ設定およびセキュリティソフトの関連していそうな設定をご確認ください。
Safari7 でプログレスバーが表示されない症状は弊社でも確認いたしました。こちらは、Safari7のバグだと思われます。
HTMLノード上にプログレスバーが存在するにもかかわらず画面が描画されません。サーバとの通信も行われ、プログレスバーの更新スクリプトも動作していますが、表示に反映されないようです。送信ボタンを押した瞬間に、画面の再描画が抑止されるのかもしれません。
また、発生条件がわからないのですが、Safari7には、プログレスバーに限らず、JavaScript で挿入したHTMLが表示されない不具合があるように思います。やっかいなことにたまに正常に表示されたりもします。
これらは Safari の次期バージョンで修正される可能性があります。
以上参考になりましたら幸いですm(_ _)m。
回答頂き有難うございます。
こちらではWin7+IE10でSafariと同様な症状のままです。
ちなみにセキュリティ設定を変えてみても変わりませんでした。
このプログレスバーの部分をそっくりjQueryとかで置き換えることができれば良いのですが…
そして、Win7+IE10ではファイルの形式にも不具合が有るように思えます。フィールド設定でMIME-TYPE許可しているのにファイルタイプが受け付けてくれません。
まあこれは「すべてのファイルを許可する」にすれば解消するのでいいのですが。
ご報告ありがとうございます。
弊社では、Firefox、Chromeでもテストしましたが、これらブラウザでは問題が発生しませんでした。
Safari7でも、メンテナンスステーション経由で表示し、書き込み画面がフレームとなっている場合、プログレスバーが表示されます。
Safari6まではフレーム内になくても正常に動作していたように記憶していますので、おそらく Safari7 になんらかの不具合があるものと思います。
弊社でテストしてみたところ、Safari7では、たとえば、送信ボタンを押した後、JavaScript で表示画面の背景色を変えようとしてもやはり動作しませんでした。そのため、他の JavaScript フレームワークを使用しても状況はあまり変わらないのではないかと思います。
Safari7 には他にもいろいろと不具合があるようですので、近いうちにアップデータが出るのではないかと思います。弊社の方でも対処法を調査いたしますが、今しばらくお待ちいただけましたらと思います。
弊社のテスト環境ではWindows7+IE6-10でご指摘の不具合を再現できませんでしたので、IE10で同様の症状が出るのは、Safariとは異なる原因によるものと思われます。
もし差し支えなければ、「アンケートフィールド設定」でお使いのフィールドタイプのリストをご返信いただけましたらと思います。アンケートフィールド設定のフィールド一覧のスクリーンショットを添付する形でもかまいません。フィールドタイプの組み合わせにより発生する不具合の可能性もありますので、問題解決のヒントとなるかもしれません。
MIME-TYPE制限についてですが、同じ拡張子でも環境によって異なるMIME-TYPEが送信される場合があります。特にMS-OfficeはMIME-TYPEに細かな違いがありますのでご注意ください。
参考)2007 Office system ファイル形式の MIME タイプをサーバーで登録する
ブラウザから送信されるMIME-TYPEが許可されたMIME-TYPEと一致しない場合、不正なファイルとみなされるため、送信される可能性のある全てのMIME-TYPEを登録する必要があります。
以上参考になりましたら幸いですm(_ _)m。
回答有難うございます。
MacのFirefoxとChromeで試してみましたがやはりバーが一瞬で終わります。
別の原因となると何が考えられるのでしょうか。
フィールド設定の画面をお送りします。
書式付文字列をたくさん使ってテストしているのですがそれが不味いのでしょうか。
そして、MIME-TYPE制限ですがMIME-TYPEは全て許可で拡張子のみのチェックとかはできないのでしょうか?
ご返信ありがとうございます。
いただいたスクリーンショットに含まれるフィールドタイプの組み合わせで症状を再現できるかどうかテストしてみようと思います。
フィールド数が多いので、お使いの設定をお借りした方が確実です。ご面倒でなければ下記手順に従い設定ファイルをお送りください。
ところで、こちらに画像をアップロードされたときはプログレスバーの表示はどうなってましたでしょうか。
スクリプト上は途中で表示が消されるとしても3秒間は表示されるはずなのですが、バーが一瞬で終わるというのは、具体的に何秒ぐらいでしょう?
また、CMONOS.JP の古いバージョンをお使いの場合は念のため、最新版にアップデートしていただけましたらと思います。(なんらかの原因で一部モジュールが欠損している場合はアップデート時にモジュールを入れ替えることで不具合が解消することがあります。)
以上よろしくお願いたしますm(_ _)m。
〈追伸〉
広告が強制挿入される無料レンタルサーバでは、挿入される広告の影響でスクリプトが期待通り動作しないことがあります。もし無料レンタルサーバをご利用の場合は、こちらのサンプル掲示板でファイルを添付して書き込んだときプログレスバーが表示されるかどうかお試しください。ファイルサイズが大きいと書き込みが拒否されますが、プログレスバーが表示されるかどうかは確かめられるのではないかと思います。
設定ファイルのご提供ありがとうございました。
さっそくいただいた設定ファイルを使用してテストしてみました。その結果やはり(バグがあると思われるSafari7以外では)問題なくプログレスバーが表示されました。
フィールドタイプの組み合わせによって発生する不具合ではなさそうです。
そこでプログレスバーが表示されない原因としては次の二つが考えられます。
○3秒後にプログレスバーが消える場合の原因
アップロード中のファイルを識別するIDにユーザーのIPアドレスが使用されます。そのためアクセスの度に接続元IPアドレスが変更されるとアップロード中のファイルが見失われ、アップロードが完了したものとして処理されてしまいます。Proxy を通じてアクセスしていると、この問題が発生するかもしれません。
○30秒後にプログレスバーが消える場合の原因
CMONOS.JP モジュールに欠落がある、などの原因でエラーが返っている可能性があります。最新版へのアップデート作業を再度実行するとモジュールの欠落が補完され問題が解消するかもしれません。
それでも問題が解消しない場合は、なんらかのエラーが発生している可能性があります。エラーの内容を確認するには次のようにします。
/cgi/[問題が発生しているアンケートのフォルダ名]/start.cgi の三行目「#use KCatch qw( mode=html );」の行頭の「#」を削除し、差し替えます。
この状態で「/cgi/[問題が発生しているアンケートのフォルダ名]/start.cgi?m=CheckUploadProgress」にアクセスするとエラー情報が表示されます。(深刻なエラーが起きている場合はエラー情報の表示に失敗します。)
英語で表示されるエラー情報をこちらにコピーしていただけると問題解決のヒントになります。
ご不便をおかけしておりますが、上記ご確認いただけましたらと思いますm(_ _)m。
ご回答有難うございました。
KCatch.pm を入れてチェックしてみましたが何のエラー表示も出ませんでした。ソースもエラーらしきものは見当たりません。
フィードバックでいただいたメールの方から実際のアドレスをお送りします。
URLのご提供ありがとうございます。
実際にアクセスし、プログレスバーが正常に表示されない不具合を確認いたしました。
ほかにもひとつ問題を発見しましたので、お知らせいたします。www なしのドメインでもサイトにアクセスできるようですが、内部的には www ありドメインのサイトとして処理されているようです。
そのため、www なしのドメインでアクセスすると、不正なアクセスとして処理がスキップされます。
内部的なドメインを統一するには下記をご参照ください。www なしに統一する場合は、www なしのドメインで $server_name を設定します。
参考)CMONOS.JP マニュアル:CMONOS.JP 共通:サーバーネームを固定したい。
プログレスバーが表示されない問題は現在調査中ですが、何らかの原因で送信ファイルIDが正しく処理されていないようです。現在検証方法を検討中です。
以上参考になりましたら幸いです。
後ほど別途メールいたします。