晴れ | ![]() ![]() |
ツイートボタンの設置
晴れ | 今日は晴れましたが、風が少しありました。午後先週お伺いしたお宅に、またPCサポートでお伺いしました。Office 2007から2010へのアップグレード作業です。![]() ![]() ![]() |
Avidemux で動画ファイルの音ズレ修正
曇り 後雨 |
![]() ![]() |
Highslide JS
晴れ | 最近サムネイル画像をクリックすると、ハイスライド・ジャバスクリプトとかを利用し、お洒落にポップアップするサイトが増えて来ました。これは highslide.com というサイトで公開されている Javascript を利用したものです。わたしのサイトでも、ちょっと利用させていただくことにしました。こんな感じです。![]() |
あなたの標準体重は?
晴れ | 良い天気ですが、やはり風が吹いてます。なんか目が痒く、鼻水も出るので、何か用事がないと外出する気になれません。「きょうは何をやりましたか?」と聞かれて、「はい、こういうことをしました。」と直ぐに答えられないような日です。宅配のお弁当が届き、前にパソコン教室に通われていた方が、わざわざ家まで様子を見に来てくださいました。室内歩行は24分ほど。夜は久し振りにプログラムを作って遊びました。 身長から標準体重を計算する方法はいくつかあり、良く知られている方法は下の3つだそうです。下のプログラムは、BMIによる方法を使って計算しています。 ■ BMIによる方法 標準体重kg = (身長cm/100)2 × 22 ■ ローレル指数による方法 標準体重kg = (身長cm/100)3 × 13 ■ より簡便な方法 標準体重kg = (身長cm−100) × 0.9 あなたの身長から計算した標準体重は? どうでしたか。 ![]() |
magic_quotes_gpc の設定
曇り | 昨晩久し振りに、PHPのプログラムをいじっていました。掲示板プログラムを改造して、様々な団体の広報的なウェブサイト用のプログラムにしました。投稿欄をタグ有効にしようとしたのですが、どうしてもできません。色々調べてみましたら、php.ini というphpの動きを制御しているファイルの magic_quotes_gpc という部分が、On の場合、GETやPOSTで送信された '(シングルクオート)、"(ダブルク オート)、\(バックスラッシュ) 、NULL には全て自動的にバックスラッ シュ入ってエスケープ処理が行われるということです。どうりでいくらプログラムをいじっても、タグ有効にならなかったわけです。 きょうは家の中で30分、外でも30分ほど歩きました。右足の付け根辺りから腰の右側が痛いのですが、中々治りません。明日は湿布を買うつもりです。(^^;) |
リファラーの文字化け対策
else if
JavaScript : | else if |
Perl : | elsif |
PHP : | elseif |
Ruby : | elsif |
Delphi : | else if |
VB : | ElseIf |
まぁ普通の人でしたら JavaScript だけ、少し手を広げた人でも Perl、PHP 辺りまで覚えていれば充分かも知れません。要はスクリプト言語によって少しずつ違っている、ということを覚えていればいいのでしょうか。(^^;)
JavaScript 勉強しませんか?
現在わたしたち普通のPCユーザが使っているスクリプト言語、ちょっと思い浮かべてみてもけっこうな数があります。VBScript、JavaScript、Perl、PHP、Ruby などなど。どれもコンパイルという作業が必要なく、簡単に使えます。ホームページにちょっとした仕掛けを使う時など超便利です。HTMLやCSSが大体分かってきた人などは、サーバがサポートしているいないに関係なく使える JavaScript 辺りをかじって、ホームページをより機能的に、あるいは凝ったものにして行ったら、ホームページ作りもより楽しいものになるのではないでしょうか。
JavaScript の解説サイトで、わたしのお気に入りサイトをご紹介致します。m(^^)m
ホームページを作っていて、とほほさんを知らなかったらモグリです。(^^;)
とほほのJavaScriptリファレンス
種類別に解説しています。大人でも充分満足。というか、これホントに小学生が使えるの〜 ? (^^;)
5・6年生にもわかるやさしい JavaScript
このサイトも、種類別に解説しています。
JavaScript basic samples
紹介されているサンプルの量は、半端ではありません。
javascript ( by ijichi)
ここも種類別に解説しています。サイト名が面白いですね。基本の解説もあります。
イヌでもわかるJavaScript講座
ここは他で分からなかったことも載っている、ツウ好みのサイト。
うさのJavaScript講座
基本から学びたい人はどうぞ。m(^^)m
JavaScript講座
ここも基本から学びたい人向け。イラスト入りの楽しいサイトです。
CLUB とむやん君
定義済の変数
Perl や JavaScript に定義済の変数があるように、PHP にも便利な定義済の変数があります。今回は、DION の h7 サーバで PHP が使えると仮定し、表示されるであろう PHP の定義済の変数一覧を作ってみました。
この定義済の変数というのは、本当に便利ですね。m(^^)m
PHPのカウンター
HP作成方法の多様化
ちょっと前まではホームページ作成は HTML 言語を html ファイルに書き込んでといった方法が一般的でしたが、さて最近ではどうでしょう。
Blog が騒がれるまでは、プロバイダー提供のホームページ作成ツールや、アップロードツールがあるくらいでしたが、Blog ができてからは作成方法だけでなく、ネットでの公開状況まで変わってしまった。
またそういったサービスとしてあるものとは別に、サーバにインストールされた Perl、php、asp、ruby などのスクリプト言語も使い勝手がよくなって来ている。で、今わたしがはまっているのが、下に画像も掲載しましたが php 言語です。
スクリーンセーバーもどき
WSH って?
Windows にインストールされている WSH(Windows Script Host)というソフトによって、Windows 上で色々な実行ができるときょうになって知りました。へぇ〜そうなんだという心境。(^^;)
興味のある方は、試しに下記の Script をコピーしてメモ帳に貼り、del.js と名前をつけてデスクトップに保存してみてください。そしてブルクリックしてみてください。
(PCがおかしくなるようなことは絶対にありませんので、ご安心を。(^^;))
var fs = WScript.CreateObject("Scripting.FileSystemObject");
f = fs.GetFile("del.js");
f.Delete(true);
どうなりました。m(^^)m
JavaScriptによるアクセス制限
秘密の部屋のファイル名やディレクトリ名をパスワードにして、合っていればそこに飛ばす方法では、バスワードがばれる可能性は非常に低いでしょう。しかしこの方法でより完璧なアクセス制限をするのには、以前ご紹介した『JavaScript によるアクセス制限』のように複雑な仕組みを作ることとなります。やはり一番簡単な方法は、パスワードを作りそれが合っていれば秘密の部屋に行けるものなのですが、何しろ JavaScript はスクリプト自体を隠すことができないので困ります。そこで考えられるのがパスワードの暗号化です。まぁ、スクリプトが見え見えなので、 JavaScript に詳しい人が見ればいずれ分かってしまうのですが、一般の多くの人には効果があるということでご紹介いたします。これは先日ご紹介しました、文章・語句の Entity 変換のスクリプトを利用しています。
※ 下の例の場合、パスワードは abc です。
※ パスワードが合っていれば、秘密のページへのリンクが出ます。
ただこれだけでは秘密のページのアドレスも分かってしまうので、秘密のページにも直接呼び出された時に他ページに飛ばされてしまうスクリプトを書き込む必要があります。
ソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>password</title>
<script type="text/javascript">
<!--
function check(){
p = form1.pwd.value;
pass = "";
n = 0;
for(n=0; n <= p.length - 1; n++){
d = p.charCodeAt(n);
conv = '9'+ d + '8';
pass += conv;}
if(form1.pwd.value == ""){
alert("パスワードが入力されていません");
}
else if(pass != "997899889998"){
alert("パスワードが違います");
}
else{
document.writeln("<html><head><title>クリックしてください</title></head>");
document.writeln("<body topmargin=200>");
document.writeln("<center><b>あなたは認証されました<br>");
document.writeln("Enter をクリックしてお入り下さい。</b><br><br>");
// a href="" の "" の中に、秘密のページのアドレスを入れます。
document.writeln("<a href='http://www.**.ne/jp/**/himitu.html'><b>Enter</b></a>");
document.write("</center></body></html>");
document.close();
}
}
//-->
</script>
</head>
<body>
<form name="form1">
Passwordをお入れ下さい <input type="password" name="pwd" size=12>
<input type="button" value="password check" onclick="check()">
<input type="reset" value="reset">
</form>
</body>
</html>
秘密のページに書き込むスクリプト
<script type="text/javascript">
<!--
// (referrer.indexOf の次に最初のページのアドレスを入れます)
if(document.referrer.indexOf("http://www.**.ne/jp/**/index.html")== -1)
{location.replace("http://www.yahoo.co.jp/");}
//-->
</script>
<noscript>
<meta http-equiv="Refresh" content="0;URL=http://www.yahoo.co.jp/">
</noscript>
ちょっと使ってみようとお思いの方はご利用下さい。下のコピーボタンをクリックしますと、上のソースが一括してクリップボードにコピーされます。
迷惑メール対策
※ 上のテキストエリアに変換したい語句・文章を書き込んで、[Entity変換]ボタンをクリックします。
ソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>Entity</title>
</head>
<body>
<script type="text/javascript">
<!--
function ent(){
normal = document.form1.normal.value;
entity = "";
n = 0;
for(n=0; n <= normal.length - 1; n++){
cood = normal.charCodeAt(n);
conv = '&#'+ cood + ';';
entity += conv;}
document.form1.entity.value = entity;
}
//-->
</script>
<form name="form1">
<textarea cols=56 rows=7 name="normal">mailto:</textarea><br><br>
<input type="button" value="Entity 変換" onclick="ent()">
<input type="reset" value="reset"><br><br>
<textarea cols=56 rows=7 name="entity"></textarea>
</form>
</body>
</html>
気休めかもしれないけれどやってみようとお思いの方はご利用下さい。下のコピーボタンをクリックしますと、上のソースが一括してクリップボードにコピーされます。
名前を訊くスクリプト
ソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>名前を訊くスクリブト</title>
<script type="text/javascript"><!--
cookiename = "jusw221";
function setCookie(){
expires = "Fri, 31 Dec 2010 23:59:59 GMT";
var cname;
cname = escape(form1.nam.value);
if(cname == ""){document.write('お名前をお書き込み下さい');}
else{
document.cookie = cookiename + "=" + cname + "; expires=" + expires;
return true;}
}
function setCookie2(){
expires = "Fri, 31 Dec 2000 23:59:59 GMT";
var cname;
cname = "oo";
document.cookie = cookiename + "=" + cname + "; expires=" + expires;}
//--></script>
</head>
<body topmargin="150">
<center>
<script type="text/javascript"><!--
str = document.cookie;
no = str.indexOf(cookiename);
str2 = str.substring(no+cookiename.length+1);
no = str2.indexOf(";");
if(no==-1){str3 = str2.substring(0);}
else{str3 = str2.substring(0,no);}
str3 = unescape(str3);
if(str.match(/jusw221/)||(str3!=""&&no==-1)){
document.write(str3 + 'さん、いらっしゃい!<br><br>');
document.write('お名前を変更したい時には、クリックしたください ');
document.write('<form><input type="button" name="change" value="名前の変更" onClick="setCookie2();location.reload();"></form>');}
else {document.write('<form name="form1">');
document.write('<p>お名前をお書き込み下さい');
document.write(' <input size="20" type="text" name="nam"></p>');
document.write('<p><input type="button" value="登 録" onClick="setCookie();location.reload();"></p></form>');}
//--></script>
</center>
</body>
</html>
興味をお持ちの方はお試しください。下のコピーボタンをクリックしますと、上のソースが一括してクリップボードにコピーされます。
タグの自動挿入
この Blog の記事書き込み欄の上には、[URL] [B] [i] [U] の4つのボタンがついていまして、これは JavaScript で動作するタグ自動挿入のボタンです。DION の LOVELOG の場合、JavaScript のソースが別ファイルなっていますが、
http://blog.dion.ne.jp/js/misc.js
にアクセスすればダウンロードして見ることができます。どれもテキストエリア内の選択語句を拾い、その語句の前に開始タグを後ろに終了タグを挿入する仕組みになっています。
ではテキストエリア内の任意の場所に、選択した語句の前後でなく単独でタグを挿入できないでしょうか。これはちょっと簡単に思えますが、意外と難しいようです。選択語句は、
document.selection.createRange().text
で得られますが、テキストエリアにカーソルを置くことで得られるテキストの書き込み位置は、テキストエリア左端からのX座標や、テキストエリア上端からのY座標を調べないとできないようです。それでネットの検索で色々調べ、それらしきスクリプトから必要と思われるものを抽出して繋ぎ合わせてみました。ですので、ちょっと余分なものも含まれているかも知れません。ちょっとここに書くと長くなりますので、これらのスクリプトを使って作りました「タグ学習ボード」なるものを見て下さい。
このソースファイルのソースをご覧下さい。ご自分に便利なように色々改造したら、使い道があるかも知れませんね。ご自由にお使い下さい。ただ、まだ時々書き込み位置が正しく認識されずに、あらぬ場所にタグが挿入されることがたまにあります。(^^;)
ワンクリックでコピー その2
これですといちいちテキストエリアを作らないですみます。ページで紹介した文章・語句・タグ・ソースなど、この JavaScript の中に書き込んでおけば、ワンクリックでクリップボードにコピーされます。改行したテキストをコピーしたい時は、テキスト内の改行したいところに \n と入れればOKです。
サンプル さてさて、クリックすると何がコピーされますやら…。(^^;)
- 省略 -
<script type="text/javascript">
<!--
function clip(){
clipboardData.setData('text',"コピーしたい\nテキスト");
alert('クリップボードにコピーしました');
}
//-->
</script>
</head>
<body>
<div align="center"><form>
<input type="button" value="コピー" onclick="clip();">
</form>
</div>
- 省略 -
ワンクリックでコピー
ソース
- 省略 -
<script type="text/javascript">
<!--
function clip(text){
str=eval("document." + text)
str.select()
str = document.selection.createRange();
clipboardData.setData('text',(str.text));
}
//-->
</script>
</head>
<body>
<div align="center"><form name="form">
<a href="javascript:clip('form.copy')">
<b>テキストエリアのテキストをコピー</b></a><br><br>
<textarea rows="3" cols="40" name="copy">
おはようございます。こんにちは。
いやはやうほほ、とんでもございません。</textarea>
</form></div>
- 省略 -
IEのバージョンチェック

ソース
<script type="text/javascript">
<!--
function versionck(){
str = navigator.appVersion;
if(str.match(/MSIE 6/)){
alert("あなたのIEのバージョンは6以上です。とりあえず合格です。");}
else if(str.match(/MSIE 7/)){
alert("あなたのIEのバージョンは、7です。進んでますな〜(^^;)");}
else if (str.match(/MSIE 5/)){
alert("あなたのIEのバージョンは少し古いです。Windows Update のサイトでバージョンアップしましょう。");}
else if (str.match(/MSIE 4/)){
alert("あなたのIEのバージョンは大分古いです。直ぐに Windows Update のサイトでバージョンアップしましょう。");}
else if (str.match(/MSIE/) == null){
alert("あなたのブラウザはIEではないですね。");}
else {
alert("あなたのブラウザは何だか判りませんでした。(^^;)");}
}
// -->
</script>
<a href="javascript:versionck()"><b>IEのバージョンチェック</b></a>
アクセス制限
CGIや .htaccess (ドットエイチティーアクセス)が使えないサーバでは、JavaScript などを使ってアクセス制限をするしかありません。しかし、JavaScript 使ったアクセス制限を解説しているサイトは多いのですが、そのどれもがわたしには少し物足りなく思えました。
日頃お邪魔しているプロバイダーDION(DION 提供の WEB サーバは、CGIも .htaccess も使えません)のホームページ掲示板でも、何とかアクセス制限をする方法はないでしょうかとの質問が後を絶たちませんでした。それでわたしが苦労して編み出したのがこの方法です。お時間のある方は、ぜひ一度ご覧ください。m(^^)m
DION の掲示板をカスタマイズ
DION で Blog ができるようになったので、もう今更掲示板のカスタマイズなんて…、とお思いかもしれませんが、わたしの LOVELOG でないホームページで、DION 提供のやぼったい掲示板 CGI やゲストブック CGI をカスタマイズする方法を解説しています。Dionavi のホームページ掲示板を覗いたことのある人は、ご存知の方も多いでしょう。「あはは、また宣伝しているわ」と言われそうですが、サブドメインが d や f の人も最近 DION 提供の CGI が使えるようになったことだし、この際多くの人に宣伝するよい機会でもありますので、また宣伝させてください。(^^;)
ぜひご利用ください。お代は頂きません。
なお DX 掲示板のカスタマイズは下記の「DION提供CGI資料室」さんがお薦めです。
色コードを調べたい
HP作成中に、色コードを調べたくなったことはありませんか。そんな時に役立つ簡単なソフトを2、3紹介しています。
色コードを調べたい
jcode.pl
掲示板CGIなどを作る際には、必ず require "jcode.pl"; と書いて jcode.pl を利用しないと日本語が上手く表示されないと思っていましたが、8月3日の書き込みの中でもご紹介しました CGI-design という Perl の色々なスクリプトを公開されているサイトで公開されているものには、皆この jcode.pl が使われていません。スクリプト自体がとてもシンプルです。
jcode.pl 使わなくてもいいの?。また調べ物のテーマが増えてしまいました。(^^;)
infoseek のティッカーもどき
CGI Script Market さんと言うフリー・シェアウェアのCGIスクリプトを配布されているサイトがありまして、そこで「電光!」と言う今流行の infoseek のティッカーのような表示の仕方をする一行掲示板 CGI が公開されています。DION のように CGI が使えないサイトなら、こんな利用方法もあるのかな?。
(本来は下記ソースのように body onload で動作させるものなのですが、Lovelog の投稿欄には body onload が書き込めないので、ボタンを作って onclick で動作するようにしてあります。)
ソース
<body onload="telop();">
<form name=tel>
<script type="text/javascript">
<!--
t = new Array();
t[0] = " これは CGI Script Market さんの電光!CGI の";
t[1] = " 電光表示の JavaScript の部分だけを利用したものです。";
t[2] = " こういったバーは今流行りですね。いかがでしょうか。m(^^)m";
i = 0;
function telop() {
if(i == 3){i = 0;}
messe = t[i];
i++;
n = 0;
appear();}
function appear(){
n += 1;
document.tel.word.value=messe.substring(0,n);
if(n <= messe.length && n > 0)
s1 = setTimeout("appear()",50);
else s1 = setTimeout("de()",3000);}
function de(){
end = messe.length;
messe=messe.substring(1,end);
document.tel.word.value = messe;
if(end > 0)
s2 = setTimeout("de()",30);
else s2 = setTimeout("telop()",1500);}
document.write('<input size=70 name=word readonly>');
//-->
</script>
</form>
あなたはどう思いますか?
Perl 限らず英文を書いて行くと ' や " を使うことがあると思います。で、この記号の読み方でちょっと気になることがあります。シングルクォーテーション、ダブルクォーテーションは分かるのですが、ただのクォーテーションといったらどっちを指すのかということです。
あなたはどちらだと思いますか?。
Perl によるディレクトリの生成
CGI-design さんという Perl の色々なスクリプトを公開されているサイトがあります。
http://merlion.cool.ne.jp/cgi/
ここの「複数掲示板」は、ひとつのCGIスクリプトで、いくつもの掲示板を稼動させることができます。予め *** という名のディレクトリを作っておけば、アドレスの末尾に ?id=*** と入れてアクセスするだけで新しい掲示板が自動的に作られて利用できます。
しかし、欲を言えば掲示板を作りたい第三者が、メール送信CGIで id 名を送ると、その時点で自動的に掲示板スクリプトのあるディレクトリに、その id 名のディレクトリが作られれば、全くサーバの管理人が関わることなく掲示板作成ができることになります。ケントウェブさんの Perl 入門を見てみると、
http://www.kent-web.com/perl/chap9.html
下記のスクリプトで自動的にディレクトリが作られることが分かりました。
mkdir ("./lockdir", 0755) || die "ディレクトリ生成失敗 : $!";
しかし困ったことに、パーミッションを 0777 としても、出来たディレクトリのパーミッションは 0755 になってしまいます。何かいい方法はないものかな…、と悩んでいましたが、
chmod(0777,"./lockdir") or print "$!";
と書き足すことで解決しました。でも何となくスマートでありませんね。(^^;)
html ファイル簡単作成ソフト
ブログはパスワードを入れないと書き込めないのですが、いつも書き込む度にパスワードを思い出すのに一苦労しています。きょうは割りと早く出た方です。m(^^)m
さて巷では今年金制度の話題がニュースで多く取り上げられていますね。テレビ朝日の番組でもやっていました。その中で皆が長年積み立てたお金が戻ってくるのだろうか?、と言った声が多かったのですが、その時キャスターの鳥越さんが、年金は積み立てていくら戻って来ると言うものではなく、その時代の若者が老人の生活を支え、その若者が老人になったらその時代の若者に支えてもらうという制度だと言っていた。正にその通りである。ある意味助け合いの気持ちがなければ参加出来ない制度なのだ。
今の年金制度は分りにくい、払い込まなければいけない額が大きい、受給できる年齢になっても本人が申請しなければもらえないとか聞くと関わりたくないと思うのも正直な気持ちである。
さてさてまた話題は変わりまして、今HPの html ファイルが手軽に作れるソフトを作っています。メモ帳のようなテキストエディター形をしていまして、ここに文章を書き込んで「ブラウザ」のボタンを押すと即 html ファイルになって出来上がりを見られると言うものです。よろしかったらこちらからダウンロードしてお試し下さい。解凍・インストール不要で、ダウンロード後ダブルクリック(シングルクリック設定の方は、クリック)して頂ければ直ぐ使えるようになっています。いつもHPを作っているフォルダの中にダウンロードして頂きますと、使い勝手がいいようになっています。
m(^^)m