
javascript:R=0;x1=.1;y1=.05;x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5);void(0);
何か画像のあるサイトを表示させた状態で、ブラウザのアドレスバーに上のコードをコピーして、ペーストし、エンターを押すと、画面上に画像が回るのですが、これは、どういった仕組みで実行されているのでしょうか。
No.2ベストアンサー
- 回答日時:
>なぜアドレスバーにコードを書くと実行されるかが
例えば A タグのリンク先にスクリプトを書くと実行されますが、これには納得してますか?これと同様の原理だとおもいますが・・・
例:
<A href="javascript:alert('スクリプト実行しました。');void(0);">実行</a>
通常ホームページの URL は http: から始めますよね。この部分が URL の種類(スキーム)を表します。
ftp: mailto: file: ・・・
URLには沢山の種類があり、ブラウザはそれぞれに応じた動作をします。
http: ならホームページを開く。
ftp: ならファイルをダウンロードする。
mailto: ならメーラーを起動する。
javascript: もその内の1つで(非公式らしい)、javascript: で始まる URL は JavaScript と解釈し、それに応じた動作(スクリプトの実行)をするのです。
>例えば A タグのリンク先にスクリプトを書くと実行されますが、
>これには納得してますか?これと同様の原理だとおもいますが・・・
なるほど、納得できました。
ありがとうございました^^
No.1
- 回答日時:
おもしろいスクリプトですね。
この数行のコードに画像を動かす命令が書かれています。仕組みとしては <A href="javascript:・・・"> と同様、ブラウザがリンク先を開こうとするとき、書かれているスクリプトを処理していると思います。
スクリプトの内容を簡単に解説すると、
>javascript:
JavaScriptであるという宣言
>R=0; ・・・ y5=200;
初期値の設定。
>DI=document.images; DIL=DI.length;
現在表示されている画像のリストと数を取得。
>function A(){
画像を動かす関数の定義開始
>for(i=0; i-DIL; i++) {
全ての画像を処理するためのループ開始
>DIS=DI[ i ].style; DIS.position='absolute';
画像のスタイルを変更
>DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;
>DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5 }
画像の位置を計算、設定。(ループの終わり)
>R++}
パラメータの変更(関数の終わり)
>setInterval('A()',5);
先ほど定義した関数を定期的に呼び出すように設定。
>void(0);
ページを変更しない為の物。
ご回答ありがとうございます。
スクリプトの内容は分かったのですが、
なぜアドレスバーにコードを書くと実行されるかが
知りたかったです><
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
スクリプトエラー?!
-
このサイトのページカール?の...
-
バッチファイルでdiskpart.exe...
-
Unity 終了時のシーンから再開...
-
デジタル時計の時刻合わせの方...
-
エクセルのシート上に別のシー...
-
マイページはどこを開くの
-
[Java] Edgeでのアドレスバー非...
-
Edge Chrom などの超初心者質問...
-
Outlookでこのような表示がされ...
-
小さな表示窓の呼び方は
-
Excel操作 ウィンドウで出した...
-
複数の画像を横にスクロールさ...
-
PDFを(htmlのように)無限に縦...
-
【Android】ユーザー補助機能ボ...
-
Javascript_submit()完了後に処...
-
Youtubeのバグ
-
TikTokLiteの自動スクロールの...
-
Outlookのエラー表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
PDFファイルを分割するマクロの...
-
5ちゃんねる
-
【このスクリプトの実行を中止...
-
イラストレーターCS4が起動しま...
-
【Notes】CSVファイルを取り込...
-
ビルダーでロールオーバーの時に音
-
質問なんですけど……
-
Adobe Readerでインターネット...
-
VISTA HOMEEDITIONのIIS7.0でAS...
-
Flexible Renamer にてランダム...
-
samurizeを使ってスケジュール表示
-
case文によるサービスの起動停...
-
Googleスプレッドシートで特定...
-
VBS を javascript に書き換える
-
スクリプトエラー
-
gimp2.8 script-fu について
-
PhotoShopで色域指定による範囲...
-
NetScapeで「お使いのブラウザ...
-
SNSへのいいねボタン削除のアド...
おすすめ情報