JavaScript、以外に手が都とがないHtml
現在Javaスクリプトのお勉強も
兼ねて悪質な自動スクリプト敵滅に日々勤しんでるものなんですが
指定時間内に別のページに飛ぶスクリプトで頭を悩ませてるところです。
基本「五秒間エンカンウト」したのちに自動的に別のサイトに
飛ぶ等の一連のプロセスはmetaタグを使ってrefresh属性を
使って飛ぶのがベストのようにどうしても絞り込まれてしまいます。それも一つのやり方ではありますが
それだと使わなくてはイケないブラウザが絞られてキマすし第一
大量のリンクや画像にアクセスするのにはあまり向いてはいない。
そこで以下の様なソースを提示します。
----------------Htmlに埋め込まれたJavascript
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 11.0.0.0 for Windows">
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript">
var j=0;
var ADC = {
/* ↓設定1 表示する広告 []内に '画像パス+ファイル名' を カンマで区切って並べる。長い場合 区切りのカンマ, 直後の改行は可能 */
imgs:['imge/eli0181.jpg','imge/eli0181_1.jpg','imge/eli0181_2.jpg']
,
/* ↓設定2 画像と同じ順でリンク先を登録。書式は画像と同じ */
anc:['imgs/eli0181.jpg','imgs/eli0181_1.jpg','imgs/eli0181_2.jpg']
,
/* ↓設定3 表示用画像タグのID '' で囲む */
id:'ADimage1'
,
/* ↓設定4 リンク先を開くウィンドウ 0:このウィンドウ 1:ウィンドウを開く */
win:1
,
/* ↓設定5 広告切替時間 1000 = 1秒 */
sec:3000
,
/* ↓設定6 ループ 0:しない 1:する */
loop:0
,
/* 設定項目終り */
set:function(O){
/*↑関数を決め時の単なる名前*/
if(!document.getElementById && !document.all){ return false;
/*allは一番目も含めたすべての画像の意味*/}
O.tmp =[];
for(var i=0; i<O.imgs.length; i++){O.tmp[i] = new Image(); O.tmp[i].src = O.imgs[i];}
O.ido = document.getElementById(O.id) || document.all(O.id);
/*idはHtml上からしか習得できず、しかもOnlyOneである*/
O.add(O.ido,'click', function(){ if(O.win){
/*window.open(O.anc[O.now],'AD');*/
}else{
top.location.href = O.anc[O.now];
}});
O.ido.style.cursor = 'pointer';
if(O.Tid){clearTimeout(O.Tid); }
O.now =-1;
var CHG = function(){
if(++O.now >= O.tmp.length|| !O.tmp[O.now]){ if(!O.loop){ return false; } O.now = 0; }
j+=1;
O.ido.src = O.tmp[O.now].src;
O.Tid = setTimeout(CHG, O.sec);
};
CHG();
},add:function(obj, type, func){
if(obj.addEventListener){ obj.addEventListener(type, func, false);
/*Listerner(アクション,関数, objクラスの複数のプロパティを同一ソース上で上書きできる
しかし、メソッドそのものは区別がある*/
}else{ if(obj.attachEvent)
obj.attachEvent('on' + type, func);
}
},Tid:undefined
};
ADC.add(window, 'load', function(){ ADC.set(ADC) });
</script>
<TITLE></TITLE>
</HEAD>
<BODY>
<img id='ADimage1' src="imge/eli0181.jpg">
</BODY>
</HTML>
--------------------------------------------------------------------------------
参照元:http://www.artemis.ac/contents/javascript/jscopy5.htm
このソースを見る限りメソッド部分にのみ限定してラインINを
行う再帰処理のように思えます。ページ間の合間に合間に意図的に
初歩的な文字表示からHtmlページ挿入まで色々やってみましたが思ったような
アウトカウントを得ることができません。
自分は最終的に何をしたいかというと、極小的にいえば川島教授の
鬼トレに出てくる「鬼計算」や「鬼記号」や「鬼耳算」のような知育用の
ゲームを一般的に公開していきたいと考えています。
つまり流動的に瞬間暗記して決められたリズムで正しく正確にフィード
バックも兼ねつつ決められバック数だけ遡る様なプログラムをです。
クラアイアントが指定した回想数またはバック数の要求に対して入力
フォームなどのレスポンスを返したいのです。
お礼
ありがとうございます *o_ _)o 今までかかって素材を探しているのですが 鉛筆の落書きティックなものは見つかりません^^ しかし、ロールオーバーの仕組みはよくわかりました。 2つの画像を用意して作るのですね。 仰るとおりcssでもできると書いてありました。 本当にありがとうございました。