• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リンク先のURLを記述せずに、Javascriptでランダムリンクを貼)

Javascriptを使用してランダムリンクを生成する方法【簡単な方法を探しています】

このQ&Aのポイント
  • リンク先のURLを記述せずに、Javascriptでランダムリンクを貼る方法を探しています。WEBサイトのランダムリンクのページを追加する際に、簡単な方法はないか検討しています。
  • 現在作成しているサイトでは、ランダムリンクのボタンがあるため、ページを追加するたびにそれぞれのHTMLを書き換えなければならず、手間がかかっています。そこで、指定したフォルダからランダムリンクする方法や、特定のファイル名を含むページからランダムリンクする方法を検討しています。
  • Javascriptのコードを読むことができないため、他の方のサイトからコピペして使用しています。しかし、上記のような方法が可能かどうかはわからず、インターネットで検索しても情報が見つかりませんでした。アドバイスをいただけると助かります。

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

  • ベストアンサー
noname#116331
noname#116331
回答No.2

Javascriptを外部ファイルにする myTable = new Array( "page1.html", "page2.html", "page3.html", "page4.html", "page5.html"); function myRndLink(){ myRnd = Math.floor(Math.random()*myTable.length); location.href = myTable[myRnd]; } 以下はscript.jsで保存した場合。 各HTMLファイルの<head></head>内に <script language="JavaScript" src="script.js"></script> を追記。 <head> <script language="JavaScript" src="script.js"></script> <title>???</title> </head> こんな感じ。 編集は外部ファイルにしたJavascriptファイルのみで済む。

beardman9
質問者

お礼

orzroooさま ありがとうございます。 わかりやすいです。 CSSにJavaScriptが記述できないというのは、 調べてわかりましたが、ふつうにファイルとして読み込めるのですね。 助かりました!

beardman9
質問者

補足

いま試してみたら、かんたんにできました! <script language="JavaScript"><!-- myCnt = 6; // リンク先の数 これ、いらないんですね。 助かりました!ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • zeff
  • ベストアンサー率69% (137/198)
回答No.1

javascriptが読めないのであれば、まず読めるようになってからでは?と思いますが。 そもそもランダムリンク、ちゃんと出来てます? 出来ているように見えないのですが…。 まず、 <script language="JavaScript"> の書き方は古いブラウザ用。 myCnt = 6; // リンク先の数 数は5つなので5のはず。というか不要。 myTable = new Array( // リンク先の登録 "page1.html", "page2.html", "page3.html", "page4.html", "page5.html", ←「,」が不要。最後の要素なので。 ); myRnd = Math.floor(Math.random()*myCnt); // 0~(myLine-1)の乱数を求める myCntが不要。myTable.lengthにする。 <input type="image" img src="randam.jpg" "onclick="myRndLink()"> いろいろ変なかんじ。 <input type="image" src="randam.jpg" alt="画像" onclick="myRndLink()"> たとえば、 <script type="text/javascript"> <!-- function getLinks(){ var myTable = new Array( "page1.html", "page2.html", "page3.html", "page4.html", "page5.html" ); return myTable; } //--> </script> <script type="text/javascript"> <!-- function myRndLink(){ // 適当に選んでリンクする関数 var links = getLinks(); var myRnd = Math.floor(Math.random()*links.length); location.href = links[myRnd]; // リンクする } //--> </script> </head> <body> <p><input type="image" src="randam.jpg" alt="画像" onclick="myRndLink()"></p> </body> </html> こんな感じにしておいて、それぞれ外部ファイル化して、各ページに置いて、 ページが増えるたびにmyTableがある外部ファイルを書き換えればよいのでは。 それなら一度で済みます。

beardman9
質問者

お礼

zeffさま ごていねいにありがとうございます。 説明のためにpageを少なくしたのですが、 そのままコピペしたほうがよかったですね。 申し訳ありません。 CSSのように外部ファイルにすればいいんですね。 がんばってみます!

すると、全ての回答が全文表示されます。

関連するQ&A