Javascriptで一定時間おきに移動するには

a.htmlに3つのリンクが張られているとします
【a.html】
<html><body>
<a href="http://headlines.yahoo.co.jp/">yahooニュース</a>
<a href="http://news.google.co.jp/">googleニュース</a>
<a href="http://sankei.jp.msn.com/">msnニュース</a>
</body></html>

この3つをdocument.links[0~2].click()を使って新しいタブで開く→閉じるという処理をします。
(ただし、一度に開けるタブは1つとします。【開く→閉じる】の処理の後に次のサイトを【開く→閉じる】をします)
yahooニュースを10秒見たらgoogleニュースを10秒見る といった感じです。
◆方針◆
・window.openとwindow.closeを使う
・document.links[0].click()を使う
・setTimeout等で10秒待つ

私の力では上手くコードが書けないのでご教授頂けますか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/02/01 23:09:50
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

ポイント200pt

コメントいただきましたように、document.links[]を使うように改めました。

しかし、document.links[].click() を使う手順(タイミング)が分かりません。
お手数ですが、下記スクリプトを実行し、ご指示ください。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
<!--
Index = 0;
WaitSec = 10;     //待ち時間(秒)

function hogeClose() {
	Wh.close();
	Index++;
	//次のオープン
	if (Index < document.links.length) {
		Wh = window.open(document.links[Index].href);
		setTimeout(hogeClose, WaitSec * 1000);
	} else {
		clearTimeout();
	}
}
function hoge() {
	//最初のオープン
	if (Index == 0) {
		Wh = window.open(document.links[Index].href);
		setTimeout(hogeClose, WaitSec * 1000);
	}
}
-->
</script>
</head>
<body onLoad="hoge()">
<ol>
<li><a href="http://headlines.yahoo.co.jp/">yahooニュース</a></li>
<li><a href="http://news.google.co.jp/">googleニュース</a></li>
<li><a href="http://sankei.jp.msn.com/">msnニュース</a></li>
</ol>
</body>
</html>
他2件のコメントを見る
id:oil999

コメントいただきましたように、回答のスクリプトを書き換えてみました。

しかし、document.links[].click() を使う手順(タイミング)が分かりません。
お手数ですが、下記スクリプトを実行し、ご指示ください。

2012/02/01 22:24:38
id:ty2016

この度はありがとうございました。
無事、目的を果たすことができました。
本当に素晴らしい回答だと思います。

2012/02/01 23:10:57

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません