最終更新日:2022/01/10
せっかく掲示板が推奨している投稿カウンター(参考FAQ)のJavaScript(ジャバスクリプト)を使用する事により、投稿回数毎に肩書きなどを表示する昇進機能を設置する事も可能です。設置方法は投稿カウンターとほぼ同様に設置して頂き、最後のJavaScript(ジャバスクリプト)を改造するのみです。
JavaScript(ジャバスクリプト)を使用している為、JavaScript(ジャバスクリプト)をOFFにしている方もしくはJavaScript(ジャバスクリプト)に対応していないブラウザからは一切カウントはされません。また、クッキーに投稿回数を記録する為、実際は同じ方からの投稿カウンター数値ではなく同じPCからの投稿カウント数値になります。
投稿カウンターが動作しない場合、JavaScript(ジャバスクリプト)とクッキーの環境が正しく設定されている必要があります。下記動作チェックのページをお試し下さい。
>> クッキー動作チェック
ここではカウント数値を記録する変数は OP1 となっておりますが、OP1がすでに利用されている場合はOP2など他の変数にしてください。 オプション変数は OP1~OP10まで使用出来ます。
1.メンテナンスルームにログイン後
2.カスタマイズ「アドバンスモード」に入室します
3.HEAD編集に入室します
4.編集項目の中にクッキーを表示するJAVAスクリプトがあると思います。
<script type="text/javascript">
<!--
//クッキー用JAVAスクリプト
function getCookie(name){
var Str = document.cookie;
var Num = Str.indexOf(name);
if(Num != -1){
start=Num+name.length + 1;
end = Str.indexOf("*" , start);
if(end == -1){
end=Str.length;
}
var cookieValue=Str.substring(start,end);
return cookieValue;
} else {
return "";
}
}
function writecookie() {
var check = getCookie("name");
if(check != "") {
document.f1.name.value= unescape(getCookie("name"));
}
var check = getCookie("url");
if(check != "") {
document.f1.url.value= getCookie("url");
}
var check = getCookie("mail");
if(check != "") {
document.f1.mail.value= getCookie("mail");
}
}
//-->
</script>
以下のカウント記録変数を加えて保存してください。(赤文字追加個所) *前置きに注意
<script type="text/javascript">
<!--
//クッキー用JAVAスクリプト
function getCookie(name){
var Str = document.cookie;
var Num = Str.indexOf(name);
if(Num != -1){
start=Num+name.length + 1;
end = Str.indexOf("*" , start);
if(end == -1){
end=Str.length;
}
var cookieValue=Str.substring(start,end);
return cookieValue;
} else {
return "";
}
}
function writecookie() {
var check = getCookie("name");
if(check != "") {
document.f1.name.value= unescape(getCookie("name"));
}
var check = getCookie("url");
if(check != "") {
document.f1.url.value= getCookie("url");
}
var check = getCookie("mail");
if(check != "") {
document.f1.mail.value= getCookie("mail");
}
var check = getCookie(document.f1.id.value);
if(check != "") {
document.f1.op1.value= getCookie(document.f1.id.value);
}
}
//-->
</script>
5.再度アドバンスモードに戻りTOP編集に入ります
6.編集項目の中にクッキーを記録するJAVAスクリプトがあると思います。
<script type="text/javascript">
<!--
function memoryCookie() {
expires = new Date();
expires.setTime(expires.getTime() + 24*60*60*1000*30*3);
document.cookie = "name=" + escape(document.f1.name.value)
+ "*;expires=" + expires.toGMTString();
document.cookie = "url=" + document.f1.url.value + "*;expires=" + expires.toGMTString();
document.cookie = "mail=" + document.f1.mail.value +
"*;expires=" + expires.toGMTString();
}
function mmsg(){
//チェックボックスが選択されていれば、クッキに記憶させます。
if(document.f1.ccheck.checked){
memoryCookie();
}
}
//-->
</script>
以下のカウント記録用の変数を加えて保存してください。(赤文字追加個所) *前置きに注意
<script type="text/javascript">
<!--
function memoryCookie() {
expires = new Date();
expires.setTime(expires.getTime() + 24*60*60*1000*30*3);
document.cookie = "name=" + escape(document.f1.name.value)
+ "*;expires=" + expires.toGMTString();
document.cookie = "url=" + document.f1.url.value + "*;expires=" + expires.toGMTString();
document.cookie = "mail=" + document.f1.mail.value +
"*;expires=" + expires.toGMTString();
if (document.f1.op1.value > 0){
document.f1.op1.value++;
}else{
document.f1.op1.value = 1;
}
document.cookie = document.f1.id.value + "=" + document.f1.op1.value
+ "*;expires=" + expires.toGMTString();
}
function mmsg(){
//チェックボックスが選択されていれば、クッキに記憶させます。
if(document.f1.ccheck.checked){
memoryCookie();
}
}
//-->
</script>
7.アドバンスモードに戻りFORM編集に入室します。
8.1番下の方に以下のタグをご挿入ください。
(無理は場合には何処でも構いませんのでとりあえず挿入ください)
<input type="hidden" name="op1">
9.アドバンスモードに戻り、実際に表示させる設定をしましょう! MESSAGE編集に入ります
RES機能がないタイプの場合は、BASE1,2のみ
RES機能があるタイプの場合は、BASE1,2 RES1,2の表示させたい個所に以下の数種類から1つのタグなどをご挿入ください。
<script type="text/javascript">
<!--
var check = "$op1";
if(check < 10){
document.write("新米さん");
} else if(check < 50){
document.write("常連さん");
} else {
document.write("プロ級さん");
}
//-->
</script>
if 文をいろいろ変更する事によりもっと細かく変更する事も可能です。
<script type="text/javascript">
<!--
var check = "$op1";
if(check < 10){
document.write("新米さん");
} else if(check < 50){
document.write("常連さん");
} else {
document.write("プロ級さん");
}
//-->
</script>
赤文字の箇所はif文を使っています。投稿回数に応じて {} 内の命令を実行するようになっています。青文字の箇所はif文で指定された投稿回数に応じて表示する肩書きです。
また、この他に貴方様のアイディアを駆使すれば100回目の投稿には、特殊な画像を表示させるなどいろいろな方法があります。
<script type="text/javascript">
<!--
var check = "$op1";
if(check < 10){
document.write('<img src="画像までのURL">');
} else if(check < 50){
document.write('<img src="画像までのURL">');
} else {
document.write('<img src="画像までのURL">');
}
//-->
</script>
お問い合わせ
FAQランキング
• CSV、FC2BBSエクスポートファイルを使った一括投稿機能
有料版アクティブモード
有料版アクティブモードでは、こんな機能が出来るようになります。