ちょっと先の未来クイズ第5問

お世話になります。
いつも素晴らしいアドバイスをありがとうございます m(__)m

本日は【リンク集をCSVファイルで管理し、JavaScriptで表示】したく
投稿させていただきました。

◇JavaScriptでCSVファイル読み込み表示
5~10個のリンクを表示したい
1行目はアンカーテキスト、2行目にURL

◇CSVのデータをランダムに表示

上記のようにJavaScriptで管理する方法が可能でしょうか。
アドバイスお願いいたします。

現在、JavaScriptの勉強を始めたまったくの素人でございます。
参考になるサイト、書籍の情報もお願いいたします。

A 回答 (3件)

動くかな?Ajaxを利用してます。


Ajaxは適当なライブラリを使ったほうが簡潔かも?
http://jsgt.org/mt/01/)ここのを使ってます
文字コードはUTF-8にしたほうが面倒ないかも?
昔勉強したAjaxコードを使ったので細かな補足は無理。

<html>
<body>
<script type="text/javascript">
window.onload=function(){
httpObj = createXMLHttpRequest(displayData);
if (httpObj) {
httpObj.open("GET","link.csv",true);//ここにファイル名
httpObj.send(null);
}
}
function displayData(){
if ( httpObj.readyState == 4 ){
var H='';
var F=[];
switch( httpObj.status ){
case 200:
var dt = httpObj.responseText.split("\n");
for( i=0; i< dt.length ; i++){
do rnd = Math.floor(Math.random()*dt.length); while(F[rnd])
F[rnd]=true;
buf = dt[rnd].split("\t");
H+=buf[0]+'<br><a href="'+buf[1]+'">'+buf[1]+"</a><hr>";
}
break;
case 403: H = 'アクセスが拒否されました'; break;
case 404: H = 'ファイルがありません'; break;
}
document.getElementById('tab').innerHTML=H;
}
}
function createXMLHttpRequest(cbFunc) {
var XMLhttpObject = null;
try{ XMLhttpObject = new XMLHttpRequest();}
catch(e){
try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){
try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){ return null;}
}
}
if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
return XMLhttpObject;
}
</script>
<div id="tab"></tb>
</body>
</html>
    • good
    • 0
この回答へのお礼

_pipi_ 様

ありがとうございましす m(__)m
思い通りのスクリプトありがとうございます。
どうにか利用することができました。


H+=buf[0]+'<br><a href="'+buf[1]+'">'+buf[1]+"</a><hr>";
を↓
H+='<br><a href="'+buf[1]+'">'+buf[0]+"</a><hr>";

<div id="tab"></tb>
を↓
<div id="tab"></div>


に、してみました。


後は、JavaScriptにStyleを指定する方法を勉強してみようと思います。

本当にありがとうございました (^^♪

お礼日時:2008/04/22 10:58
    • good
    • 0
この回答へのお礼

losajax 様

ありがとうございました m(__)m
面白いライブラリをご紹介いただきありがとうございます。

今後もいろんなライブラリをさわって勉強したいと思いました。

本当にありがとうございました (^^♪

お礼日時:2008/04/22 11:01

・ ブラウザ上で動くJavaScriptでテキストファイルの読み書きをするのをみたことないのですが。



・ 唯一、IEのJScriptで、拡張子(*.hta)のものは、
    var fso=new ActiveXObject("Scripting.FileSystemObject");
    var fs=fso.openTextFile("sample.cvs",1);
  と言うのは出来ました。
    • good
    • 0
この回答へのお礼

auty 様

ありがとうございました m(__)m
今後も勉強したいと思います。

本当にありがとうございました (^^♪

お礼日時:2008/04/22 10:59

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


おすすめ情報