親子におすすめの新型プラネタリウムとは?

javascript初心者です。
いろいろと調べたのですが、イマイチよく分からないので質問させてください。
テキストファイルやcsvファイルを読み込んで、
javascriptで判定処理をしたいと思います。

例えば、

A地区,1
B地区,0
C地区,4
・・・

といったデータを読み込んで、
javascriptで「0なら○地区には画像Aを表示、
それ以外なら○地区には画像Bを表示する」
という形で処理したいです。
でも、
・どうやってファイルを読み込むのか
・読み込んだデータをどのようにして配列へ入れるのか
がよく分からないです。
これらのページ
http://q.hatena.ne.jp/1195740627
http://www.openspc2.org/JavaScript/Ajax/Ajax_stu …
のような方法を参考にすれば実現可能なのでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> ・どうやってファイルを読み込むのか



2つめの参考ページがそのままです。
これでわからなければもっと基本的なことから始めるべきです。
足し算やかけ算ができなければ、円の面積は解けないのと同じです。

http://www.openspc2.org/JavaScript/
http://www.tohoho-web.com/www.htm

1つめの参考ページは若干特殊な方法なので無視した方がいいかもです。
    • good
    • 1
この回答へのお礼

2つめの参考ページを最初から読み直して
なんとかなりました。
ありがとうございました。

お礼日時:2009/09/20 21:37

一番簡単な方法は、JSON形式というのを利用する方法です。


データを
data={[
{"A地区":1},
{"B地区":0},
{"C地区":4}
]}
みたいに
{
"プロパティ名" : 値
}
の形式のテキストファイルにしてhoge.jsonとして保存しておきます。
そうすれば、
<script type="text/javascript" src="hoge.json"><script>
でそのまま読み込み、javascriptで
alert(data[0].A地区);みたく使えます。

詳しくはJSON又はJSONPを検索してみてください。
    • good
    • 0
この回答へのお礼

JSON形式というのがあるんですね。
まだよく理解できてませんが、
調べて参考にします!ありがとうございました。

お礼日時:2009/09/20 21:38

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q変数の代入値を外部の.txtファイルから読む

var AAA = "XXXX";

このように変数AAAにXXXXという値を代入したいのですが、XXXXは外部ファイルTEXTDATA.txt内にあります。
javascriptのみで、TEXTDATA.txtをオープンして文字列を取得することはできるのでしょうか?

TEXTDATA.txt には XXXX 以外の文字はありません。

だれか回答できるかた、よろしくお願いします。

Aベストアンサー

<script>
w=window.open("TEXTDATA.txt","tmp","width=100,height=100")
var AAA = w.document.all[0].innerText
w.close()
document.writeln(AAA)
</script>

こんな感じでどうでしょうか。

とほほさんのページを見て、いま作ってみました。

参考URL:http://tohoho.wakusei.ne.jp/js/index.htm

Q.txtファイルの読み込み

こんにちは。
いつもいつも「教えてgoo」には助けられているモノです。

今回質問をさせて頂きたいことは、
JavaScriptでテキストファイルを読み込む方法です。

私が今回したいことは、
---
1.JavaScriptでファイル内データの読み込み

2.読み込んだテキストをsplitさせ、配列に入れ込みたい。
---
と、言うことをしたいのですが。。。
(2)は何とか出来ているのですが、(1)がよくわからず・・・
どなたかご存じの方いらっしゃいましたらご伝授よろしくお願いしますm(._.)m

Aベストアンサー

//@cc_on
function getTextFile (fname) {
var text = null;
var ajax = new XMLHttpRequest();
with (ajax) {
/*@if(1) onreadystatechange @else@*/ onload /*@end@*/ =
function () { readyState == 4 && status == 200 && (text = responseText); };
open('GET', fname, false);
send(null);
};
return text;
}

alert(getTextFile('sql.txt'));

http://jsgt.org/ajax/ref/charset_test/responsetext/test_1_make_table.php

Qwebブラウザからローカルファイルの読み込み

はじめまして、質問します。
webブラウザからローカルファイルの読み込みを行いたいのですが、
セキュリティーの問題でアクセスを拒否されました。
その回避法として、FileAPIによって
htmlのinput要素かドラッグアンドドロップを用いて
ローカルファイルを読み込めることが分かりました。

しかし、私がやりたいことは
絶対パスでローカルファイルを読み込むことです。

そのようなことは可能でしょうか?
上記の方法だとinputからフォルダをたどってファイルを選択するので
原理的には可能なような気がするのですが・・・・

言語はjavascriptです。
よろしくお願いします。

Aベストアンサー

>その回避法として、FileAPIによって
>htmlのinput要素かドラッグアンドドロップを用いて
>ローカルファイルを読み込めることが分かりました。

>上記の方法だとinputからフォルダをたどってファイルを選択するので
>原理的には可能なような気がするのですが・・・・

根本的な部分で勘違いをされている気がします。ドラッグ&ドロップで渡されるのはファイルのパスなどではありません。これはFileListオブジェクトという専用のオブジェクトで、その中に個々のファイルに関するFileオブジェクトが保管されています。このFileオブジェクトをFileReaderなどに渡すことでその内容を読み取ったり出来る仕組みになっています。

ただし、ここで勘違いしてはいけないのですが、このFileオブジェクトには、ファイルのパス情報は含まれていないのです。あるのはファイル名の情報だけ。そのファイルがどこにあるかといったことはJavaScript側からは隠蔽されており、スクリプトからタッチできません。

つまりJavaScriptでは、「パスによるファイルの指定」は過去も現在も首尾一貫して禁止されており、不可能なのです。

ドラッグ&ドロップは、ユーザーの能動的な動作により起こるイベントです。つまり、ユーザーが自分で「このファイルをアップロードしよう」といった具合に操作した結果の行動です。これに対し、「ファイルのパスによるファイルアクセス」は、ユーザー不在であり、プログラムが自分で勝手にファイルにアクセスできることを意味します。両者は全く違います。

>その回避法として、FileAPIによって
>htmlのinput要素かドラッグアンドドロップを用いて
>ローカルファイルを読み込めることが分かりました。

>上記の方法だとinputからフォルダをたどってファイルを選択するので
>原理的には可能なような気がするのですが・・・・

根本的な部分で勘違いをされている気がします。ドラッグ&ドロップで渡されるのはファイルのパスなどではありません。これはFileListオブジェクトという専用のオブジェクトで、その中に個々のファイルに関するFileオブジェクトが保管されています...続きを読む

Q外部ファイルにしたら文字化けしてしまいました

FC2ブログで下記【1】を

<script type="text/javascript">
<!--
【1】
// -->
</script>

で囲んで直接プラグインに書き込んだら
文字化けせずに表示されたのですが、

外部ファイルにして

<script type="text/javascript" src="【1】のJSファイルのパス"></script>

をプラグインに書き込んだら、
画像リンクはうまく表示されたのですが、
文字化けしてしまいました。

文字化けしない方法はないでしょうか?


【1】
// ランダムに画像を表示する
jmp = new Array();
img = new Array();
// ジャンプ先のアドレス(数字は画像と対応)
jmp[0] = "http://~";
jmp[1] = "http://~";
jmp[2] = "http://~";
jmp[3] = "http://~";
jmp[4] = "http://~";
// 画像のアドレス(数字はジャンプ先のアドレスと対応)
img[0] = "img/img1.jpg";
img[1] = "img/img2.jpg";
img[2] = "img/img3.jpg";
img[3] = "img/img4.jpg";
img[4] = "img/img5.jpg";
n = Math.floor(Math.random()*jmp.length);
document.write("<a href='"+jmp[n]+"' target='_blank'>");
document.write("<img src='"+img[n]+"' border='0'>");
document.write("</a>");

FC2ブログで下記【1】を

<script type="text/javascript">
<!--
【1】
// -->
</script>

で囲んで直接プラグインに書き込んだら
文字化けせずに表示されたのですが、

外部ファイルにして

<script type="text/javascript" src="【1】のJSファイルのパス"></script>

をプラグインに書き込んだら、
画像リンクはうまく表示されたのですが、
文字化けしてしまいました。

文字化けしない方法はないでしょうか?


【1】
// ランダムに画像を表示する
jmp = new Array();
img = new Array();
// ジャンプ先...続きを読む

Aベストアンサー

自分は5歳児だろうが主婦だろうが手は抜きません。


とりあえず試しに、

<script type="text/javascript" src="JSファイルへのパス" charset="Shift-JIS"></script>

~と言う風にしてみて下さい( charset="Shift-JIS" というのを付け足す)。それで文字化けが直るようなら、貴方のJSファイルの文字コードは「Shift-JIS」と言う事になります。FC2のBlogサービスですか?それでHPやBlogを作っているのなら、基本的には文字コードはサーバ側、つまりこの場合は「EUC-JP」に統一するべき~という事になります。

一般的に、Windowsの標準の環境だと。前段で述べた様な、様々な種類の文字コードを扱う事が出来ないので。事実上、作業は「Shift-JIS」1択と言う事になります。また『メモ帳(notepad.exe)』では「改行コード」を編集出来ないので、HTMLやJavaScript(JSファイル)を編集するには力不足です。何か特別なソフトとかを使わずに、Windows標準の『メモ帳(notepad.exe)』でJSファイルを編集したのであれば、十中八九、文字コードは「Shift-JIS」になっているはずです。


>文字コード
「文字コード」とは、コンピュータ上でテキストファイル(*.txt)をやり取りする時の方式の事で、現在では100種類近くの文字コードがあります。インターネット上でよく使われる文字コードは、「UTF-8」、「Shift-JIS」、「EUC-JP」~の3種類で、基本的にはこれだけ押さえておけばOKです。

考え方としては、日本語や英語のように。同じ意味を持つ文書でも色んな国の言葉で書く事が出来る様に。コンピュータ上での文書の表し方にも方言というか、色んな国の言葉がある様な物だと思ってて下さい。先に述べた「改行コード」や「BOM無し」とかは忘れて下さい。

で、初心者はコレだけ覚えて置いて欲しいのですが…

・半角英数文字だけなら文字化けは起きない

~と(実際は違いますが、話がややこしくなるので簡単にします)。半角英数文字ってのは「abc,?!#123456+-=」みたいな文字の事です。全角文字とは違うので注意して下さい(全角文字 → abc,?!#123456+-=)。従って逆説的に言えば「日本語を使う時は常に文字コードの影響を受ける」と言う事です。

自分は5歳児だろうが主婦だろうが手は抜きません。


とりあえず試しに、

<script type="text/javascript" src="JSファイルへのパス" charset="Shift-JIS"></script>

~と言う風にしてみて下さい( charset="Shift-JIS" というのを付け足す)。それで文字化けが直るようなら、貴方のJSファイルの文字コードは「Shift-JIS」と言う事になります。FC2のBlogサービスですか?それでHPやBlogを作っているのなら、基本的には文字コードはサーバ側、つまりこの場合は「EUC-JP」に統一するべき~という事になります。

...続きを読む

Qtxtの中身を表示する方法教えてください!(javaスクリプト?)

デスクトップに置いてあるひとつのフォルダに、A.htmlというファイルと、B.txtというファイルがあります。
A.htmlをブラウザ(IE)で開いたとき、B.txtの中に書いてある文章をまるまる表示させるには、
どのようにすればいいでしょうか?

ネット上でいろいろ調べたところ、http://questionbox.jp.msn.com/qa3189160.htmlの質問にイメージが近かったのですが、
読み込むファイルはjsじゃないですし、中身を変更したくない(↑の質問のように、”var data = [・・・”といった書き換えをしたくない)のです・・・。

htmlファイルも、txtファイルも、サーバーには送りません。
ネットに繋がっていないパソコンでだけ使います。

よろしければ、サンプルプログラムを書いていただけると助かります。
本当に困っております、どうぞよろしくお願いいたします!

Aベストアンサー

Ajaxを使ってtxtファイルを読み込めばいいはずですが、Ajaxをご自分で実装されるとなると面倒だと思います。
一番手っ取り早い方法としては、jQuery(http://jquery.com/)などのAjaxライブラリを使用することです。

以下、jQueryを使用してtxtファイルを読み込むサンプルです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<script type="text/javascript" src="jquery-1.3.2.js"></script>

<script type="text/javascript">
<!--
$(document).ready(function() {
$("#container").load("B.txt");
});
//-->
</script>

</head>
<body>

<!-- テキストを表示する部分 -->
<div id="container"></div>

</body>
</html>

Ajaxを使ってtxtファイルを読み込めばいいはずですが、Ajaxをご自分で実装されるとなると面倒だと思います。
一番手っ取り早い方法としては、jQuery(http://jquery.com/)などのAjaxライブラリを使用することです。

以下、jQueryを使用してtxtファイルを読み込むサンプルです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/c...続きを読む

QjQueryで外部テキストファイルを読み込みたいがうまくいきません

jQueryで外部テキストファイルを読み込みたいと思っています。
https://ghweb.info/post-2976.htmlを参考にしてやってみたのですが、どうもうまくいきません。
上記参考サイトのサンプル1は読み込めます。

------------------ サンプル1 --------------------
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQueryでテキストファイルを表示する</title>
<script src="js/jquery.min.js"></script>
<script>
$(function() {
$("#read_text").load("sample_txt.txt");
});
</script>
</head>
<body>
<h3>.load()でテキストファイルを読込み</h3>
<div id="read_text"></div>
</body>
</html>

しかし、$.getで読み込むサンプル2がどうしても読み込めません。

------------------ サンプル2 --------------------
<script>
$(function() {
$.get("sample_txt.txt", function(data){
$("#read_text").text(data);
});
});
</script>

これで半日ほどハマっています。何か根本的に間違っているんでしょうか?
OSはLinux mint、ブラウザはfirefoxです。

jQueryで外部テキストファイルを読み込みたいと思っています。
https://ghweb.info/post-2976.htmlを参考にしてやってみたのですが、どうもうまくいきません。
上記参考サイトのサンプル1は読み込めます。

------------------ サンプル1 --------------------
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQueryでテキストファイルを表示する</title>
<script src="js/jquery.min.js"></script>
<script>
$(function() {
$("#read_text").load("sample_txt.txt");
});
</scri...続きを読む

Aベストアンサー

ANo1です。

私の環境(windows)でも、サーバでは当然ながら問題はありませんが、ローカルでは、IEはOSがアクセスを拒否、fxでは.load()は実行できますが、$.get()では処理でないという、似たような事象が発生しました。

$.get()の場合、fxではsuccessが返されましたが、何も表示されないので、さらに調べてみると、dataTypeを自動設定にしておくとXMLと解釈されているようで、テキストは空文字列になっているみたいでした。
(OSからどのようなヘッダが返されているのかなどはわかりません)

質問者様の環境ではparsererrorとのことですので、statusこそ異なりますが、同様の事象が起きているではないかと想像します。
.load()では、内部処理で(想像ですが)dataTypeをhtmlかtextに決め打ちしているのではないかと思い、(ANo1でも回答しましたように)textを明示的に指定してみたところ、$.get()でも、$.ajax()でも表示することができるようになりました。
質問者様の環境では、この方法でもうまくいきませんか?

とはいうものの、ローカルでのアクセスは、実行できたとしても正しいアクセスとは言えないでしょうから、どのような環境でも同じ結果になるなどという保証はないと思いますが。
(専門家ではなく、全くの門外漢ですので理屈や仕組みはさっぱりわかってません。(汗)

ANo1です。

私の環境(windows)でも、サーバでは当然ながら問題はありませんが、ローカルでは、IEはOSがアクセスを拒否、fxでは.load()は実行できますが、$.get()では処理でないという、似たような事象が発生しました。

$.get()の場合、fxではsuccessが返されましたが、何も表示されないので、さらに調べてみると、dataTypeを自動設定にしておくとXMLと解釈されているようで、テキストは空文字列になっているみたいでした。
(OSからどのようなヘッダが返されているのかなどはわかりません)

質問者様の環境...続きを読む

Qjavascriptでテキストファイルを作成したい

javascriptを勉強していて演算した結果をテキストファイルにして、その結果をテキストファイル内に書き込んで新しくデスクトップに作成するというプログラムを作りたいと考えています。
ですが、まずは以下の条件を満たすプログラムの内容を教えていただきたいと思います。

私はHTMLと同時にjavascriptを作っているのですがとりあえず、

・「テキストファイルの作成」というボタンをHTML内に作ります。
・そのボタンを押すとjavascriptのfunctionが動作し、「テキストの書き込みに成功しました」という内容が書かれたテキストファイルがデスクトップに新たに作成される。

というプログラムを知りたいです。

基礎的な原理だけを知りたいので上の条件を満たすプログラムを教えていただきたいと思います。
テキストファイルをデスクトップに作る方法と、作るテキストファイルにどのようにしてテキスト内容を書き込めばいいのか分かりません。
HTMLの部分がめんどくさければjavascriptの部分だけでも構いません。
よろしくお願いします。

Aベストアンサー

#2 です。

勉強目的ということでしたのでブラウザ(IE)依存で問題ないと考えていました。WSH でも hta でも JScript は利用できるはずなので。
質問者さんは以下の希望を持っていると想像していました。

・JavaScript だけでテキストファイルに出力したい
・ローカルで実行するので、ブラウザ依存で構わない (Webサイト制作が目的ではない)

そうではなく、

・Webサイト制作する上での JavaScript を知りたい
・標準的な JavaScript を学びたい (ブラウザ依存はしたくない)
・JavaScript 以外の言語(PHPなど)を学ぶこともいとわない

ということでしたら、私の見込み違いですのでどうぞスルーしてください…。
サーバサイドでファイル出力するのが一般的な手法だと私も思います。

QHTMLファイル同士での値渡し

困っています。

HTMLファイルからHTMLファイルへ移動するときに、
HTMLファイル1でJavaScript で算出された値を
HTMLファイル2へ渡して使用したいのです。

showModalDialogだとダイアログにしか渡せないし・・・。
このように、値をそのまま次のページに渡すための方法を教えてください。
お願いします。

Aベストアンサー

すみません。うっかりしてました。

document.write(FORM[v1]);
では、v1を変数と認識してしまうので、エラーになってしまいますね。

document.write(FORM.v1);  // 「FORM.v1」です
あるいは
document.write(FORM["v1"]);
としてください。

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Qローカルのtest.txtを1行ずつ読み込みたい

javascriptでローカルのtest.txtを1行ずつ読み込みたいため、ネットでtxtファイルの読み込みのコードを
探したら、自分のやりたいのに一番近いなと思う

http://www.happy2-island.com/vbs/cafe02/capter00 …

が見つかりました。

しかし、貼り付けて実行しても何も表示されません。

objParm(0)を"test.txt"
objFileSys.BuildPath(strScriptPath,strFileName)を
"file:///C:/Users/aaa/Documents/javascript"に
WScript.echoをdocument.write
とかに書き換えてみても、test.txtの中身が表示されません。

他にも検索するのですが、ネット上のtxtファイルの読み込み方とか
いまいちなコードしか検索ででてこず困っています。

test.htmlと同じローカルのディレクトリにあるtest.txtを読み込みたいのです

どのように書けばいいのでしょうか。
アドバイスいただけるとうれしいです。

javascriptでローカルのtest.txtを1行ずつ読み込みたいため、ネットでtxtファイルの読み込みのコードを
探したら、自分のやりたいのに一番近いなと思う

http://www.happy2-island.com/vbs/cafe02/capter00 …

が見つかりました。

しかし、貼り付けて実行しても何も表示されません。

objParm(0)を"test.txt"
objFileSys.BuildPath(strScriptPath,strFileName)を
"file:///C:/Users/aaa/Documents/javascript"に
WScript.echoをdocument.write
とかに書き換えてみても、test.txtの中身が表示されません。

他に...続きを読む

Aベストアンサー

androidも視野にいれるとなれば、
・イントラネットにWebサーバーを置く(XAMPPとか)
・Webコンテンツとして作成する
・イントラネットにWifi環境を構築して、androidでwifi経由でイントラwebサーバーにアクセス
・オフラインで使用したい場合は、コンテンツをHTML5のアプリケーションキャッシュで実装する
ってところじゃないでしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング