MB-Support

パソコン初心者のサポートページ

掲示板:投稿処理の既知の問題に対処しました


JavaScript は、ユーザー側のパソコンの処理能力に依存するので、なるべく投稿パネルに組み込まない様にしていましたが、そろそろパソコンスペックも向上して問題が無いだろうと判断しました。これにより、投稿パネルを使いやすくしてみました。例えば右図は、「投稿NO:[4742]」に返信する場合、投稿者の左に表示された「返信」ボタンをクリックします。すると、すぐ下に投稿フォームが表示されます。



コメントを入力する度に、入力可能な残りの文字数が変化します。表示文字は、規制文字数 - 実際に入力した文字数 となります。JavaScript なので、内部的な強制はできませんが、とりあえずサーバーサイドスクリプトの方で帳尻を合わせてあります。現在は、2000文字を投稿な可能な文字数とします。改行は、2文字として処理されます。全角でも半角でも、1文字としてカウントされます。また、10文字以上入力すると、「投稿する」ボタンが表示されます。これにより、誤って空送信する事を防ぎます(内部処理で元々投稿はできませんでしたが)。



コメント数が2001文字以上になると、警告が表示され、具体的に何文字減らすべきか表示されます。さらに、「投稿する」ボタンが非表示になり、誤って投稿するのを防ぎます。



スレッド以外のコメントは、タイトル入力を排除しました(以前から)。これにより、「お名前」を「ニックネーム」に変更。ニックネームの入力を必須に変更しました。ニックネームが入力されていない状態で「投稿する」ボタンを押しても、エラーが表示され投稿する事ができません。しかし、JavaScript での制御は完全では無く、穴がありますが、あえてそれを掲載するのもやめます。いずれにしても、次の変更を加えたので、その穴も従来通りではあるものの、カバーできると思います。



問題無く投稿が完了した場合の画面が右です。「投稿の実行結果」の下に、「投稿ありがとうございました」と表示されれば、投稿は正常に完了しました。ただし、この掲示板は管理人が目を通してから許可したコメントだけが公開される仕組みです。それらの説明もここに表示されます。ページ中央の「戻る」ボタンをクリックすると、投稿元のページへ移動できます。しかし、今までは、投稿が正常に完了していない状態でも、この画面が表示されてしまう不具合がありました。



重複投稿になった場合は、「すでに投稿されました。重複投稿の可能性があるので内容を破棄します」と表示されます。この場合は、先に投稿した内容が正常に完了しているので、許可された公開されるのを待つのみです。しかし、多くのケースでこれが有効に働きますが、ある条件では働きません。いずれにしても、公開を許可するは手動で、こちらで修正する事ができるため、投稿者が心配する必要はありません。



さて、上の全ての制限をクリアしても、まだ問題は存在しました。データベースとプログラムを作成する管理人のスキルのせいで、扱えない文字が入力された場合です。本当は、これらの処理を実行できる様に改善するのが望ましいのですが、現在解決には至っておりません。今まで、これらの特殊文字が入力された場合、または、ある文字の組み合わせでエラーが発生した場合でも、上の掲載した「投稿ありがとうございました」が表示されてしまう問題がありました。投稿者に対して、投稿が完了した事を告げいるものの、実際にはこちらで取得する事ができていません。つまり、投稿が無かった事になっています。コメントしたものの、いつまでたっても表示されない場合、通常なら管理者の許可が下りなかったと判断しますが、このエラーによって管理者にコメントが届いていない場合がありました。これを防ぐため、次の変更を加えました。



何からしらのエラーが発生した場合、次の画面が表示されます。ここで、ニックネーム、タイトル(スレッドのみ)、コメントに入力された文章を変更して頂きます。特殊な文字と思われるものを除去してから、再び「投稿する」ボタンをクリックして下さい。ヒントのいくつかは、このページに表示されます。確実なのは、半角の「\」が文頭、または、文末にあると、エラーとなります。タグが禁止されているので、タグを入力しても文字として判断されまれすが、エラーになる確率も高いです。



以上の変更で、今まで発生していたトラブルを低減できると思います。本当は、投稿パネルから別ページに移動しないで、投稿を完了するのが最もシンプルなのですが、管理人のスキルが足りないため、まだそこまで作れません。 テストしたのは、Windows 7 Professional 64 bit + IE 9 Beta 64 bit、IE 9 Beta 32 bit、Chrome 、Firefox。



Windows Vista Ultimate 32bit + IE 8 32 bit、IE 8 64 bit。Windows XP Professional SP3 32 Bit + IE 6 32bit(Virtual PC)。 マシンスペックは、Intel Core 2 Q6600、DDR2 4 GB。マシンスペックで一番劣っている環境は、Virtual PC の Windows XP ですが、とりあえず文字数カウントで鈍さを感じませんでした。 さらに低いスペックでの検証は、現時点ではやっていません(いずれ Pentimu III あたりで検証します)。 これからも、よろしくお願いします。





BTOパソコン・ゲームPC・自作パソコンなら【TSUKUMO】 - 自作PCに必要なパーツ、豊富な品揃え

Copyright © 2017 MB-Support パソコン初心者のサポートページ All Rights Reserved.

管理人サイト閲覧方法プライバシーポリシー著作権/免責事項