• 締切済み

onLoadでのClick()

onLoadのコマンド?からClick()を使って新しいウインドをターゲット指定でオープンさせたいんですが、いろいろ調べて試してみたんですが全然わからなくて。。(;^_^A アセアセ…  普通にonLoadでのオープンは出来るんですがマウスをクリックしたイベントが必要なんですぅぅ どなたかこんな私に愛の手をお願いします。 説明が下手ですみません<m(__)m>

みんなの回答

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.5

こんにちは 1日空けてみたのですが回答ついてないですね(--;)見られてないだけかな? 次のようにしてみました ≪top.html≫ <FRAMESET rows="150,*" border="5" bordercolor="red"> <FRAME src="test0.html" name="up"> <FRAME src="test1.html" name="wind"> </FRAMESET> ≪test0.html≫ <BODY onLoad="document.FormName.ButtonName.click()"> <FORM NAME="FormName" ACTION="http://www.yahoo.co.jp/" target="wind"> <INPUT TYPE="submit" NAME="ButtonName"> </FORM> </BODY> 本来ならばtop.htmlを開いたら下のフレームにはtest1.htmlが表示されるはずなのですが一瞬だけ表示されてすぐにyahooが表示されたので onLoad="document.FormName.ButtonName.click()"はページ表示と同時に <FORM ACTION="http://www.yahoo.co.jp/" target="wind"> <INPUT TYPE="submit"> </FORM> が行われているものだと思います <form >の中に method="post" もしくは method="get" があるはずなんですけどついていませんでしたか? ですので書き方を変えると ≪top.html≫ <FRAMESET rows="150,*" border="5" bordercolor="red"> <FRAME src="test0.html" name="up"> <FRAME src="http://www.yahoo.co.jp/" name="wind"> </FRAMESET> ≪test0.html≫ <FORM ACTION="http://www.yahoo.co.jp/" target="wind"> <INPUT TYPE="submit"> </FORM> となると思うのですが・・・ 余談が長くなりましたが本題のアクセス解析ですがこちらはまったく手をつけていないので分かりません(><) 解説ページを読んで推測で物を言っているので予めご了承くださいm(--)m アクセス解析は親ページ(上で言うところのtop.html、もしくはBaseとしておいてあるならtest0.htmlになるのかな?)を解析するもので 子ページ(frameページ)(上で言うところのtest0.html、test1.html、yahoo.co.jp)は解析されていないのではないでしょうか? まだ扱いきれないので確認していただきたいのですが冒頭の3つのhtmlファイル(top.html、test0.html、test1.html)を作ってtop.htmlを表示してアクセス解析していただきたいのですが・・・ test0.htmlは <FORM NAME="FormName" ACTION="http://www.yahoo.co.jp/" target="wind"> <FORM NAME="FormName" ACTION="http://www.yahoo.co.jp/" target="wind" method="post"> の両方で試してください それでもしyahoo.co.jpがアクセス解析されているのであれば上で述べたように自動で行うか手動で行うかの違いでしかないのでアクセス解析は行われるはず...と思うのですが 行われていないのであれば『フレームページでのアクセス解析のやり方』を新しく質問された方が賢明だと思います(^^)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.4

こんにちは onLoadは使わないといけないのでしょうか? 普通に文字や画像をクリックしてオープンウィンドウするのであればその部分に『onClick="***()"』とつければいいですよ? <SCRIPT language="JavaScript"> <!-- function openWin() { window.open("sample0.html","OpenWindow","width=100px, height=100px");} //--> </SCRIPT> <a href="javascript:openWin()">リンクでopenWindow</a><br> <input type="button" onClick="openWin()" value="ボタンクリックでopenWindow"><br> <img src="sample.gif" onClick="openWin()" alt="画像クリックでopenWindow"> <div onClick="openWin()">text文をクリックしてopenWindow</div> などのように・・・ ページ全体でどこかをクリックしたらopenWindowしたいのでしょうか? それでしたらページ全体を見えないテーブルで囲ってやるとできます <table onClick="openWin()" width="100%" height="100%"> <tr><td valign="top"> ここの部分に本文を書き入れます </td></tr></table> ですがこれだと他のボタン操作(リンクしたらりボタンを押したり)してもopenWindowしてしまいます(><) No.3への補足 フレームで分けてあるのならば <a href="./***.html" target="wind">下のフレームに新しくページ表示</a> とすればできると思いますが・・・(未確認です)

nanami1985
質問者

お礼

いろいろありがとうございます<m(__)m> leap_dayさんって凄いですね!!!!尊敬ですぅ!!! さっき教えていただいたモノはできたんですが一つ問題が発生して アクセス解析に出てこないんです(へんな事に拘ってすみません) 今日見つけたscriptなんですが <head> <HTML> <HEAD><TITLE>TEST</TITLE></HEAD> <BODY onLoad="document.FormName.ButtonName.click()"> <FORM NAME="FormName" ACTION="http://www.yahoo.co.jp/" target="wind"> <INPUT TYPE="submit" NAME="ButtonName"> </FORM> </BODY> </HTML> </head> これは解析に反映されるんです。 なのでボタンをクリックするscriptなら反映するんだろうなぁって思ってたんですが・・ このscriptだとランダムが使えないし・・・ こんなワガママなんとかなりますか?<m(__)m>

nanami1985
質問者

補足

うわ~~ご免なさいです<m(__)m> 新しい方がコメントしていただいてたなんて。。。 焦って間違えてしまいました<m(__)m> onLoadが必要なんです。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

#2です。 <html> <head> <script language="javascript"> function test(){ var urllist=[ "http://www.yahoo.co.jp" ,"http://www.google.co.jp" ,"http://www.goo.ne.jp" ]; var num=Math.floor(Math.random()*urllist.length); nWin=window.open(urllist[num],"targetName","width=300,height=300") nWin.focus(); } </script> </head> <body onload="document.getElementById('hoge').click()"> <input type="button" id="hoge" onClick="test()"> </body> </html> っとか? ランダムでurlを指定するって時点で、ポップアップブロッカーに はじかれると思いますが・・・。 >それとonLoadでマウスをクリックした時と同じイベントを発生させるのは >このbuttonを使わないと無理なんでしょうか? 質問の意味がよくわからないのですが、button以外で何をクリックする つもりなのでしょうか?それによってはできるものもあれば できないものもあるでしょうし、場合によっては別の方法で代替できる こともあるでしょう。

nanami1985
質問者

お礼

早い~~~ご回答ありがとうございます<m(__)m> えと・・・質問下手ですみません。 button以外だと画像とか・・・ですが無理ならボタンでもOKです。 教えていただいたscriptを早々試したのですが私のやり方がイケナイのか動きません(;^_^A アセアセ…  私はフレームを上下に分け上に教えて頂いたscriptを記載したHTML下のフレームには(wind)とNameを付けscriptの"targetName"を"wind"としてみたのですが間違いでしょうか?・・・動かないから間違いですよね。。。 自分が情けないですぅぅぅ(;。;)

nanami1985
質問者

補足

すみませ~~~ん できましたぁ scriptをコピーした時にエンコーディングの関係? urllistの前後に?がついていました。 ありがとうございました<m(__)m>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

普通にできませんか? <html> <body onload="document.getElementById('hoge').click()"> <input type="button" onClick="alert('test')" id="hoge"> </body> </html>

nanami1985
質問者

お礼

早々ありがとうございます<m(__)m> アラートのは検索で見つけたんですがどの部分にURL&ターゲットを記載していいかが分からなくて。試しにURLを、例えばalert('test')の部分に入れてみたりしたのですが動かなくて・・・あまり詳しくなくてサンプルにいろいろ手を加えて動けばラッキーみたいなレベルなんですぅ。 それとonLoadでマウスをクリックした時と同じイベントを発生させるのはこのbuttonを使わないと無理なんでしょうか? あと・・(すみませんいろいろ)この方法でリンクを開く時複数のサイトをランダムで(よくあるランダムリンクです)フレームにターゲット指定する事は可能ですか?

noname#77845
noname#77845
回答No.1

JavaScriptのマウスイベントには onClick onDblClick onMouseDown onMouseUp 等があります。それぞれ使えるイベントですので調べてみてください。

nanami1985
質問者

お礼

ご回答ありがとうございます。 本当に初心者なので悩んでます。

関連するQ&A