• 締切済み

includeのランダム表示

はじめまして。サイトでincludeファイルをランダムに表示 させたいですが、どのように記述すればよいですか? 以下の2つをランダムに表示させたいと思っています。 <!-- #include virtual = "AAA.html" --> <!-- #include virtual = "BBB.html" -->

  • HTML
  • 回答数6
  • ありがとう数2

みんなの回答

noname#19175
noname#19175
回答No.6

> Javascriptでの記述では無理でしょうか? すみません、この表示をJavaScriptで行いたいという話ですね。 削除依頼を出したのですが、やはり削除されないようなので、私の発言は無視してください。 語弊がありそうなので、一応訂正。 > とりあえず書かれているのがSSIコマンドですので、SSIで書いてみますが、 書かれているのがSSIコマンドですので、とりあえずSSIで書いてみますが、 と、これだけでは何なので、JavaScriptを使った書き方を。。。 *AAA.htmlやBBB.htmlをJavaScript用に書き直し、ファイル名を変更する必要があります。 AAA.js var theHtml='AAA.htmlの内容を記述<br>タグを使うことで改行も可能'; BBB.js var theHtml='BBB.htmlの内容を記述'; theHtml+='<br>文章が長ければ += を使って連結させることも可能'; theHtml+='<br><img src="image.jpg">もちろん<img>タグなども書けますが、クォーテーションの扱いに注意。'; 以下のスクリプトはHTMLファイルの<head>の中に記述 <script type="text/javascript"> var files = new Array('AAA.js','BBB.js'); document.write('<script type="text/javascript" src="'+files[Math.floor(Math.random()*msg.length)]+'"></script>'); </script> HTMLのファイルの内容を表示したい部分に以下を記述 (スクリプト部分は<body>の一番最後(</body>の直前)や、<body onload="">で実行させても可) <div id="theDIV"></div> <script type="text/javascript"> document.getElementById('theDIV').innerHTML=theHtml; </script>

noname#19175
noname#19175
回答No.5

利用する言語は何でしょうか? とりあえず書かれているのがSSIコマンドですので、SSIで書いてみますが、 SSIでは「ランダム」というのが実現できませんので、 アクセスする時間(秒の下1桁)で判断させるようにしてみました。 ネットワークの途中経路が影響するかしないかだけでも誤差が出ますので、 それだけでランダム性が出ると思います Apache2.x系なら動きますが、 Apache1.x系は、Apache1.2以上ならたぶん動くと思います。(一般的には1.3が使われていると思います) mod_includeが必要ですが、たぶん標準で入っています。 サーバーの秒の下一桁が奇数ならAAA.htmlが、偶数ならBBB.htmlが表示されます。 <!--#config timefmt="%S"--> <!--#set var="datesec" value="$DATE_LOCAL"--> <!--#if expr="$datesec=/[13579]$/" --> <!--#include virtual="AAA.html" --> <!--#else --> <!--#include virtual="BBB.html" --> <!--#endif --> ついでに <!--#if expr="$datesec=/[012]$/" --> <!--#include virtual="AAA.html" --> <!--#elif expr="$datesec=/[345]$/" --> <!--#include virtual="BBB.html" --> <!--#else --> <!--#include virtual="CCC.html" --> <!--#endif --> の様な感じでelifを追加していくと、ファイルの数を増やせます。 JavaScriptで<iframe>を使って良いならANo.3を参考に。。。 またはいわゆるAjaxを使えばSSIの時と同じような表示が出来ます。

  • partita
  • ベストアンサー率29% (125/427)
回答No.4

javascriptでは無理でしょう。 #inclueはサーバーサイド、javascriptはクライアントサイドスクリプトで、前者が先に処理されるからです。 というわけで、#3様のスクリプトは、単にコメントとしてソースに表示されるだけで、#includeは動作しない(はず)。

  • sanas
  • ベストアンサー率100% (8/8)
回答No.3

こんな感じでどうでしょう。 <SCRIPT type="text/javascript"> <!-- var msg = new Array(); msg[0] = 'AAA.html'; msg[1] = 'BBB.html'; var no = Math.floor(Math.random() * msg.length); document.write('<IFRAME src="'); document.write(msg[no]); document.write('"></IFRAME>'); // --> </SCRIPT> ただ、これだと更新ボタンでは切り替わりませんが。更新ボタンでも変更されるようにしようとする場合は、フレーム内ページにJavaScriptを書きます。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

<!-- #include virtual = "Select.cgi" --> とした上で、Select.cgiの中で乱数を発生させ、発生した乱数によってAAA.htmlかBBB.htmlかどちらかの内容を表示させて下さい。 これは「画像ではなくテキスト(文字)でアクセスカウンタを表示する」のと同じ手法です。 カウンタを表示させる代わりにファイルの中身を表示させれば良いので、原理は同じです。

driers
質問者

補足

ご回答有難う御座います。 Javascriptでの記述では無理でしょうか?

  • partita
  • ベストアンサー率29% (125/427)
回答No.1

SSI・CGI関連なので、別カテで質問してみては?

関連するQ&A

  • includeと#include

    他の人が書いた拡張子が.aspとなっている ファイルを眺めているのですが、その中に <!-- #include file="./Include/aaa.inc" --> <!-- include file="./Include/bbb.inc" --> という2種類の記述が存在していました。 前者は相対ディレクトリ指定でaaa.incというファイルを 読み込んで処理すると理解しておりますが 後者も同じ動作をするものなのでしょうか? 実行環境が手元にないため試すことも出来ず Net上を検索してもこれといったものが見つかりません。 どなたかご教授お願いします。

  • ランダムに画像を複数箇所表示させたい

    ランダムに画像の表示を2カ所行いたいのですが どのようにスクリプト文を書けばいいのでしょうか rootに01.js 02.js 03.html [aaa]フォルダに aaa01.jpg aaa02.jpg [bbb]フォルダに bbb01.jpg bbb02.jpg というファイル配置と仮定して 03のファイルに同時に aaa01とaaa02のどちらかをランダム bbb01とbbb02のどちらかをランダムに表示させたいのですがうまくいきません。 どなたか01.js 02.js 03htmlの書き方のアドバイスをお願いできないでしょうか?よろしくお願いいたします。

  • wordpressでincludeが表示されない

    wordpressで投稿した際に、phpのincludeファイルを読み込ませようとしています。 wordpressのサイトを sample.com とした場合、 投稿記事に以下を貼り付けています。 <?php include("http://sample.com/include/link.inc");?> サイトはUTF-8、link.incファイルもUTF-8で保存しています。 試しにsample.comの直下にtestフォルダを作って、その中にhtmlファイルを作って 同様に上記のphpのinclude記述をしたところ、ちゃんと表示されました。 ちなみに別のドメインサイト(HTMLサイト)でも上記の記述で表示されました。 wordpressのサイトで表示されないのは何が原因でしょうか?

    • 締切済み
    • PHP
  • 複数のswfファイルをランダム表示させたい

    複数のswfファイルバナーがあって、トップページに これらのバナーをランダム表示させたくて、ランダム 表示用のswfファイルを用意したのですが、どうしても 表示できません。 ランダム表示用swfファイルの1フレーム目には、 下記の通りASを書いてみました。 swfList= new Array("aaa.swf","bbb.swf","ccc.swf"); listLength=swfList.length; rndNum= Math.floor(Math.random()*listLength); loadMovie(swfList[rndNum],"_root"); このswfファイルも、他のバナー用aaa,bbb,ccc.swfファイルも 同じフォルダ内に保存しています。 ちなみに当方Flash MX2004 professional使用です。 どこが間違っているか、どなたがご教授下さいませ。

  • PHP include_once

    include_onceで読み込んだファイルが そのままテキストとして出力されてしまいます。 以下のような感じです。 インクルードするファイル fail.inc test_val = array("aaa" => "aaa111", "bbb" => "bbb222", "ccc" => "ccc333"); ソース本体 src.php <?php include_once('./fail.inc'); 以下処理 exit(); ?> これをそのまま実行すると以下のように出力されます。 test_val = array("aaa" => "aaa111", "bbb" => "bbb222", "ccc" => "ccc333"); includeせずにそのまま走らせると正常に動きます。 httpd.confのaddtypeにincという拡張子は追加していませんが 他の同様のソースでは問題なく読み込めます。 require_onceとかも試しましたが同じようにfail.incの中身がそのままテキストとして 出力されてしまいます。 どうしたら正しく読み込めますでしょうか。 ご回答よろしくお願いしますm(_)m

    • ベストアンサー
    • PHP
  • 【PHP】include()で余計な文字まで表示されてしまう

    レンタルサーバーのPHP5利用者です。 include() や require() 等で外部の関数を読み込む場合、 <?php ~ ?> の外側に文字があるとそれが変なところで表示されてしまいます。例えば、 <呼び出し側> include(gaibu.php); $msg = write_fc(); print $msg; <外部ファイル側> aaa <?php function write_fc(){ return 'Hello'; } ?> bbb <結果> aaabbbHello といった感じなのですが… この「aaa」「bbb」をさせない方法があれば教えてください。 それとも<?php ~ ?> の外側に文字をかくこと自体非常識なのでしょうか。 お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • フラッシュバナーのランダム表示について

    以下のスクリプトでフラッシュバナーをランダム表示させています。 loadMovie(1 + random (4 ) + ".swf", AAA); このランダム表示の比率を変えたいとき、例えばですが、4つのファイルを 1:1:1:3の割合で表示させるなどの場合、どういうスクリプトを書けばいいでしょうか? また、ファイル名は現在 1.swf、2.swf、3.swf・・ としていますが、ファイルを差し替えた際にキャッシュが残るので、それぞれ固有名詞にしたいのですが、 その場合の方法も教えてください。

  • 【Excel】「リンクを更新する」のダイアログを表示させないようにするには

    教えて下さい! AAA.xlsとBBB.xlsというファイルがあります。 AAA.xlsを開くと自動的にBBB.xlsが開くようになっています。 BBB.xlsにはグラフがあり、AAA.xlsからデータを読んでいるため「リンクを更新しますか?」というダイアログが表示されてしまいます。 これを表示させないようにするにはどういう記述をしたらよろしいでしょうか? AAA.xlsを開く際にBBB.xlsも開くように、AAA.xlsに以下のように記述してあります。 ================================================================ Sub Auto_open() Workbooks.Open Filename:=ThisWorkbook.Path & ("\BBB.xls") Workbooks("AAA.xls").Worksheets("Sheet1").Activate End Sub ================================================================ その記述に付け加える形になると思うのですが。 宜しくお願い致します。

  • <!--#include …を.htmに反映するには?

    <!--#include virtual="/head.html"--> の記述をhtmlファイルに書き込んでいるのですが、拡張子がhtmのファイルに反映されません。拡張子がhtmlのファイルには反映されます。 .htaccessの記述が原因だと思うのですが、どのように描けばいいのでしょうか。

    • ベストアンサー
    • CGI
  • JSPのインクルードアクションについて

    AAA.jspというファイルの中で <jsp:include page="BBB.jsp" flush="true" /> とインクルードアクションでBBB.jspをインクルードしている個所があります。そのBBB.jspの中でresponse.addcookie()を使いたいのですが、正常に動作しません。不必要な個所は削除し、cookie発行の個所だけ残しても同じ結果です。JAVA初心者で改修を頼まれて困っています。漠然とした質問で申し訳ないのですが、どのような問題が考えられるでしょうか?宜しくお願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう