• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リンクを順番にクリックしながら同じ別窓に上書きで表示したい)

リンクを順番にクリックしながら同じ別窓に上書きで表示する方法

このQ&Aのポイント
  • リンクを順番にクリックしながら、同じ別窓に上書き表示する方法について教えてください。
  • クリックしたリンクを30秒ごとに別窓に表示し続ける方法を知りたいです。
  • クリックしたリンクを開いたまま、読み込み完了後に戻ることなく表示し続ける方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

ごめんなさい m(__)m 少々タイプミスがあったようです <html> <!-- myloadに修正 --> <body onload="myload()"> <input type=hidden id=myData value=0> <a href="http://www.google.co.jp/" target="test">Google</a> <a href="http://yahoo.co.jp/" target="test">Yahoo!</a> <a href="http://goo.ne.jp/" target="test">goo</a> <!-- typeの後ろに『"』が必要でした --> <script type="text/javascript"> <!--   var myID;   function myload()   {     // 30秒なら30000 40秒なら40000とします     myID = setInterval( "mytimer()", 5000 );   }   function mytimer()   {     // タイマーを解除     clearInterval( myID );     // getElementByIdに修正     var n = new Number( document.getElementById("myData").value );     // getElementsByTagNameに修正     var len = document.getElementsByTagName("A").length     document.getElementsByTagName("A")[n].click();     n++;     n %= len;     // getElementByIdに修正     document.getElementById("myData").value = n;     // 次回起動用のタイマーを設定     // mytimerを呼ぶように修正     if ( n != 0 )       myID = setInterval( "mytimer()", 30000 );   } //--> </script> </body> </html> これで大丈夫だと思います

peraman
質問者

お礼

こちらで希望していた動きができました。 ありがとうございました!

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

setIntervalを使えば可能なようです 現在何番目のリンクをクリックしたのかを覚えておくhiddenフィールドを作成しておきます <input type=hidden id=myData value=0> Aタグには target="main" といった属性つけておけば同じ別ウィンドウに表示されます bodyタグのonloadイベントsetIntervalを設定してタイマーイベントでAタグのclickメソッドを呼ぶようにします <body onload="myclick()"> <script type=text/javascript"> <!-- var myID;   function myload()   {     // 30秒なら30000 40秒なら40000とします     myID = setInterval( "mytimer()", 30000 );   }   function mytimer()   {     // タイマーを解除     clearInterval( myID );     var n = new Number( document.getByElementById("myData").value );     var len = document.getByElementsByTagName("A").length     document.getByElementsByTagName("A")[n].click();     n++;     n %= len;     document.getByElementById("myData").value = n;     // 次回起動用のタイマーを設定     if ( n != 0 )       myID = setInterval( "myclick()", 30000 );   } //--> </script> といった具合です

peraman
質問者

お礼

お返事ありがとうございます。 すみません、やり方が悪いのかうまく動きませんでした。 それはこんなソースにするということでしょうか。 <html> <body onload="myclick()"> <input type=hidden id=myData value=0> <a href="http://www.google.co.jp/" target="test">Google</a> <a href="http://yahoo.co.jp/" target="test">Yahoo!</a> <a href="http://google.co.jp/" target="test">Google</a> <script type=text/javascript"> <!-- var myID;   function myload()   {     // 30秒なら30000 40秒なら40000とします     myID = setInterval( "mytimer()", 5000 );   }   function mytimer()   {     // タイマーを解除     clearInterval( myID );     var n = new Number( document.getByElementById("myData").value );     var len = document.getByElementsByTagName("A").length     document.getByElementsByTagName("A")[n].click();     n++;     n %= len;     document.getByElementById("myData").value = n;     // 次回起動用のタイマーを設定     if ( n != 0 )       myID = setInterval( "myclick()", 30000 );   } //--> </script> </body> </html> それとも別々のファイルにしてもいいということでしょうか。