dポイントプレゼントキャンペーン実施中!

htmlを使い、複数のファイルからランダムに1つを選び表示するというページを作りたいと思っており、「http://www5e.biglobe.ne.jp/access_r/hp/javascrip …」を参考にしているのですが、こちらのページを参考にして作成すると、一度、ランダムで選ばれたURLが表示され、ユーザーがそのリンクをクリックすることでページが表示されるという形になります。これを、URLを表示すること無く、選ばれたページが直接表示されるためにはどのようにしたらいいのでしょうか?現在のソースは、
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
<TITLE>リンクをランダムに表示する方法</TITLE>
</HEAD>
<BODY>

<SCRIPT TYPE="text/javascript">
<!--
//――――――――――――――――――――――――――――――――――――――
// 作成者 るび~/ACCESS R http://www5e.biglobe.ne.jp/~access_r/
//――――――――――――――――――――――――――――――――――――――

//――――――――――――――――――――――――――――――――――――――
// ユーザが設定する部分はここから!!
//――――――――――――――――――――――――――――――――――――――
var rlink = new Array();//リンクの配列
rlink[0] = "a.html";
rlink[1] = "b.html";
rlink[2] = "c.html";
rlink[3] = "d.html";
//――――――――――――――――――――――――――――――――――――――
// ユーザが設定する部分はここまで!!
//――――――――――――――――――――――――――――――――――――――
var x = Math.floor(Math.random() * rlink.length);
document.write('<A HREF="' + rlink[x] + '" TARGET="_blank">' + rlink[x] + '</A>');
//-->
</SCRIPT>

</BODY>
</HTML>

となっています。ご回答の程よろしくお願い致します。

A 回答 (3件)

余談ですが関数名をスペルミスしてましたね。


こちらでどうぞ。

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
<TITLE>リンクをランダムに表示する方法</TITLE>
<SCRIPT TYPE="text/javascript">

var rlink = new Array();//リンクの配列
rlink[0] = "a.html";
rlink[1] = "b.html";
rlink[2] = "c.html";
rlink[3] = "d.html";

function RandomLink()
{
var random = Math.floor( Math.random() * rlink.length );
//randomは0~3のいずれかになる

document.getElementById("RandomLink").href = rlink[random];
//id="RandomLink"のhrefを書き換える
}

</SCRIPT>
</HEAD>
<BODY>

<a id="RandomLink" href="" onclick="RandomLink()">ランダムに開きます</a>

</BODY>
</HTML>
    • good
    • 0
この回答へのお礼

2度もが回答頂きありがとうございました。参考にしながら制作したいと思います。

お礼日時:2014/11/05 00:12

こんな感じでどうぞ。



<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
<TITLE>リンクをランダムに表示する方法</TITLE>
<SCRIPT TYPE="text/javascript">

var rlink = new Array();//リンクの配列
rlink[0] = "a.html";
rlink[1] = "b.html";
rlink[2] = "c.html";
rlink[3] = "d.html";

function RandomLick()
{
var random = Math.floor( Math.random() * rlink.length );
//randomは0~3のいずれかになる

window.open(rlink[random]);
}

</SCRIPT>
</HEAD>
<BODY>

<a href="" onclick="RandomLick()">ランダムに開きます</a>

</BODY>
</HTML>

この回答への補足

ご回答有難うございます。
早速試したところ、ランダムでページが開きました。もし可能であれば、そのページを新しいタブで開くのではなく、既存のタブで開くようにしたいのですがどのようにしたらいいのかご存知でしょうか?もし可能であれば、またご回答の程よろしくお願い致します。

補足日時:2014/10/29 21:57
    • good
    • 1

javascriptではなく、サーバー側で対処すべきです。


CGIなどで、ごく簡単な--数行ですむ)プログラムを書き、そのファイル名をindex.htmlとかにすればよい。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
現在、htmlとjavascriptの初歩的な知識しかないため、サーバー側で対処する方法というのが分からないため、できればhtmlとjavascriptのみで作りたいというのがあります。今後、CGIというものの勉強もしてみたいと思います。ありがとうございました。

お礼日時:2014/10/29 21:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!