![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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で質問しましょう!
似たような質問が見つかりました
- 数学 場合の数、確率 45 (浜松医科大学) 1 2023/07/29 13:52
- その他(プログラミング・Web制作) Pythonによる物理の斜方投射の位置座標表示について 2 2023/06/05 12:46
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- 数学 ハイネボレルの被覆定理、内田伏一著 「集合と位相」定理22.1 1 2022/07/07 10:49
- Word(ワード) ネットの文章をワードに貼り付けるとき、幅を広げる方法 6 2022/05/30 11:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- オープンソース イラストのDLサイト 1 2023/05/11 17:33
- その他(プログラミング・Web制作) Pythonでのかんたんな物理シミュレーションについての書籍 5 2023/06/02 07:37
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
5ちゃんねる
-
aviutl ティム氏のスクリプトに...
-
Hotmailを開くと処理速度が一気...
-
スクリプトって何?(パソコン初...
-
ベストアンサーの稼ぎ方
-
【急いでます】PC・携帯兼用...
-
HOMEPAGEビルダーのでの新しい...
-
gimp2.8 script-fu について
-
FTPにディレクトリごとアッ...
-
イラレにエクセルデータ挿入方...
-
マイページはどこを開くの
-
デジタル時計の時刻合わせの方...
-
ウインドウを毎回同じ位置、大...
-
リトルバスターズEXを中古で購...
-
ツールバーやステータスバーな...
-
Googleのアップデート・ポップ...
-
スライドショーを全画面でなく...
-
エクセルのシート上に別のシー...
-
ページ訪問時にiframe内を自動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
PDFファイルを分割するマクロの...
-
イラレにエクセルデータ挿入方...
-
このスクリプトの実行を中止し...
-
【このスクリプトの実行を中止...
-
NetScapeで「お使いのブラウザ...
-
シャットダウン時にメッセージ...
-
5ちゃんねる
-
バッチファイルでdiskpart.exe...
-
画面認識型の自動クリックソフ...
-
アリー my Loveの英語...
-
PhotoShopで色域指定による範囲...
-
Firefoxの拡張NoScriptの使い方...
-
吉里吉里KAGでの2つの台詞を同時に
-
aviutl ティム氏のスクリプトに...
-
Internet Explorer スクリプト...
-
soundengineでスクリプトの使用。
-
gimp2.8 script-fu について
-
【Notes】CSVファイルを取り込...
-
FTPにディレクトリごとアッ...
おすすめ情報