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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
質問なんですけど……
-
PDFファイルを分割するマクロの...
-
「スクリプトエラーが発生しま...
-
【このスクリプトの実行を中止...
-
NetScapeで「お使いのブラウザ...
-
シャットダウン時にメッセージ...
-
VBSでCTRL+ALT+DELを実行したい
-
デジタル時計の時刻合わせの方...
-
エクセルのシート上に別のシー...
-
リストビューをスクロールさせ...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
大きい表へのスクロールバーの...
-
Javascript_submit()完了後に処...
-
エクセルVBAでフォームのListbo...
-
Excelでワードアートや図を常に...
-
小さな表示窓の呼び方は
-
VBA ポップアップが表示された...
-
<EXCEL/VBA> OUTLOOKのウインド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
PDFファイルを分割するマクロの...
-
【このスクリプトの実行を中止...
-
NetScapeで「お使いのブラウザ...
-
シャットダウン時にメッセージ...
-
受信メールボックスの中からメ...
-
PhotoShopで色域指定による範囲...
-
PDFで年齢を計算したいのです。
-
5ちゃんねる
-
アリー my Loveの英語...
-
VBS を javascript に書き換える
-
イラレにエクセルデータ挿入方...
-
Flexible Renamer にてランダム...
-
UWSCというソフトで自動化を行...
-
VISTA HOMEEDITIONのIIS7.0でAS...
-
スクリプトエラーとは?
-
Firefoxの拡張NoScriptの使い方...
-
スクリプトエラー?!
-
gimp2.8 script-fu について
-
Google CromeでGoogleカレンダ...
おすすめ情報