スレ立てるまでもない質問

HTML/CSS/JavaScriptを扱っている方の為のコミュニティです。

色んな疑問や質問を皆で解決していきましょう!

※最初はjQuery限定のコミュでしたが、jQueryはJavaScriptのライブラリであり、
また、HTML/CSSも深く関わってくるので全部一つのコミュにまとめました。
フォーラム(掲示板)ルール
一般常識さえ守れば、どんなスレでも立てていただいて構いません。

常識外れの投稿やスレを見つけた場合は、私の判断で削除いたします。

スレ立てるまでもない、簡単な質問は、
「スレ立てるまでもない質問」のスレッドに投稿して下さい。

基本的には、一つの質問につき1つのスレッドを立てていただて構いません^^
返信
アバター
Ciel
記事: 252
登録日時: 13年前

スレ立てるまでもない質問

#1

投稿記事 by Ciel » 13年前

こちらはスレ立てるまでもない質問のトピックです。

しょうもない疑問で恥ずかしくて聞けない質問などが、ありましたらこちらのトピックに投稿して下さい。

例:jQueryの最新バージョンって今なんですか?
  その他、恥ずかしくてなかなか聞けなかった質問など。

※基本的に1質問に付き1スレッド作成していただいて構いません。まあその辺は個人の判断で結構です。
最後に編集したユーザー Ciel on 2011年1月07日(金) 21:04 [ 編集 1 回目 ]
oui C'est la Vie♪

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#2

投稿記事 by Ciel » 13年前

さっそく質問w

下記のソースにある、括弧の後ろにあるセミコロンなんですが必要なんでしょうか?
ネットで見る限りはあったりなかったりするので、正しい方を知っておきたいと思いまして。
動作自体はあってもなくても動くようです。

コード:


$(function(){
$("div").click(function(){
 alert("hello");
});←ここのセミコロンって必要?
});

よろしくお願いします。
oui C'est la Vie♪

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: スレ立てるまでもない質問

#3

投稿記事 by h2so5 » 13年前

Javascriptの構文チェッカーではセミコロンが無いとエラーが出るので、
規格上は必要ではないでしょうか。

http://www.javascriptlint.com/online_lint.php

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#4

投稿記事 by Ciel » 13年前

>>h2so5さん
ありがとうございます!そしてコミュ参加ありがとうございます!

確かに警告が出ますね。やっぱり必要のようですね。

こんな便利なサイトあったんですね!
今後も使わせていただきます。

どうもありがとうございました!
oui C'est la Vie♪

アバター
Justy
副管理人
記事: 122
登録日時: 13年前
住所: 神奈川県

Re: スレ立てるまでもない質問

#5

投稿記事 by Justy » 13年前

 一応 click(...);の ';'なわけですが、Javascriptの文法としては文末の ';'を省略することができ、
自動的に適当に補ってくれますので要らないと言えば要りません。

 しかし、意図しないところ副作用を起こすことがあるのでつけることが推奨されています。
http://cou929.nu/data/google_javascript ... guide/#id8

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#6

投稿記事 by Ciel » 13年前

Justyさん、ありがとうございます!

そういえばよく考えてみるとclick(...)のセミコロンになりますねw
括弧を閉じた後のセミコロンみたいな変な認識しちゃってました><

文法としては省略可能なんですね~。
でもリンク先のような副作用が起こると面倒なので、常につけるようにします!

ありがとうございました!
oui C'est la Vie♪

アバター
MoNoQLoREATOR
記事: 284
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#7

投稿記事 by MoNoQLoREATOR » 13年前

質問です。
JavaScriptでテキストファイル内容を読み込んで表示させようとしたのですが、表示されません。
どこかまちがっているのでしょうか。

コード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta http-equiv="Content-Language" content="ja" />
	<meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>

<script language="JavaScript"><!--

var fileStr;
fileStr.OpenTextFile("test.txt", 1, false);//ファイル読み込み
document.write(fileStr);

--></script>

</body></html>
普通に文章を表示させることはできたので、JavaScriptは機能しているはずです。だからファイル読み込みの部分で落ちているのだと思うのですが・・・。

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#8

投稿記事 by Ciel » 13年前

まず動かないですね。
インスタンスも作っていないのに動くはずがありません。

あまり時間がないので以下のURLを熟読の上、一度やってみてください。
もし何かエラー等が出るようであれば、詳細にエラーの内容を記載していただき、再度質問して下さい。
出来る限りのサポートは致します。
http://d.hatena.ne.jp/nacookan/20080221/1203607060
oui C'est la Vie♪

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#9

投稿記事 by Ciel » 13年前

まず動かないですね。
インスタンスも作っていないのに動くはずがありません。

あまり時間がないので以下のURLを熟読の上、一度やってみてください。
もし何かエラー等が出るようであれば、詳細にエラーの内容を記載していただき、再度質問して下さい。
出来る限りのサポートは致します。
http://d.hatena.ne.jp/nacookan/20080221/1203607060
oui C'est la Vie♪

アバター
MoNoQLoREATOR
記事: 284
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#10

投稿記事 by MoNoQLoREATOR » 13年前

返信ありがとうございます。
とりあえずサンプル通りに改変してみたのですが、エラーが出ました。

コード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta http-equiv="Content-Language" content="ja" />
	<meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>

<script language="JavaScript"><!--

var fso = new ActiveXObject('Scripting.FileSystemObject');
var stream = fso.OpenTextFile('test.txt', 1, false, -2);
var text = stream.ReadAll();
stream.Close();
document.write(text);

--></script>

</body></html>
エラー:
Uncaught ReferenceError: ActiveXObject is not defined

ActiveXObjectが見つからないということは、私のパソコンにインストールされていないということなのでしょうか。
それともブラウザの設定が原因なのでしょうか。
ちなみに私が使っているブラウザはGoogleChromeです。

アバター
kimuchi
記事: 163
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#11

投稿記事 by kimuchi » 13年前

ActiveXObject()はたしか「JScript」という「Javascript」互換の言語で
MSIE専用だったような気がします。
何をされたいのかはよく分からないですが、サーバー側でPHPなどを使いたくない理由があるのでしょうか?
(それとも何かのテストでしょうか。)
ファイル管理ならサーバー側のアプリに任せるほうがセキュリティ的にも良いと思いますが・・・

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#12

投稿記事 by Ciel » 13年前

たぶん、IEじゃないと動きませんよ。

基本javascriptではユーザのローカルファイルにはアクセスできませんので、
PHP等を使って、読み書きするしかありません。

とりあえずそれでも良いのであれば、IEでやった結果をまた書き込んでいただければアドバイスいたします。
が、クロスブラウザに対応するのが一番良いと思いますのでお勧めしません。

素直にPHPでサラッっとやることをおススメいたします^^
oui C'est la Vie♪

アバター
MoNoQLoREATOR
記事: 284
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#13

投稿記事 by MoNoQLoREATOR » 13年前

何がしたいのかというと、ユーザーが「ある日時」を設定し、「ある日時」までのカウントダウンを行いたいのです。

途中でユーザーがブラウザを閉じてしまう可能性があるので、とりあえず「ある日時」をサーバーに記憶しておきます。
カウントダウンはJavaScriptを使う方法しか知らないので、JavaScriptでデータを読み込む必要があるのです。

アバター
MoNoQLoREATOR
記事: 284
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#14

投稿記事 by MoNoQLoREATOR » 13年前

CGIを使って自分自身を書き換える方法もありますが、ユーザーは沢山いるわけで、したがってユーザーの数だけそのページのファイルが必要になってしまいます。短いファイルなら問題ないのですが、長いファイルだと、サーバーが圧迫されてしまうのでやりたくないです。

アバター
kimuchi
記事: 163
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#15

投稿記事 by kimuchi » 13年前

CGIを使って自分自身を書き換えずとも、
上のスクリプトのようにテキストファイルに保存して読み込めば良いのではないでしょうか。

ユーザー、という言葉が入るのを見ると、実用のスクリプトということですね。
javascriptのリクエストはあまり信用できたものではありません。
ソースの参照から保存したテキストファイルがばれてしまいますし、不正なデータが混入する可能性もあります。

以上の点でCGI(PHP等)を用いたサーバーサイドのプログラムにしたほうが良いと思います。

ついでですが、
ユーザーは沢山いるわけで、したがってユーザーの数だけそのページのファイルが必要になってしまいます。短いファイルなら問題ないのですが、長いファイルだと、サーバーが圧迫されてしまうのでやりたくないです。
この点でデータベースを利用されるのはいかがでしょうか?
データの登録や、更新、削除に最適化しており、テキストファイルを扱うよりも
管理が簡単になると思います。
使えない環境でしたら申し訳ありません。

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#16

投稿記事 by Ciel » 13年前

クッキー使えばいけるんじゃないでしょうか?
oui C'est la Vie♪

アバター
MoNoQLoREATOR
記事: 284
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#17

投稿記事 by MoNoQLoREATOR » 13年前

残り1時間29分54秒
残り1時間29分53秒
残り1時間29分52秒

という風に、リアルタイムで刻々とカウントダウンされるようにしたいのですが、CGIだけで可能なのですか?一秒ごとに情報を更新して残り時間を書き換えるプログラムを想定しているのですが。

私はCGI系はPHPしか詳しくないのですが、
私の記憶が正しければJavaScript内部でPHPを使う事はできませんので、JavaScriptの関数を1秒ごとに呼ぶことができたとしてもその内部でPHPを使ってファイルを読み込むことはできません。


※ユーザー側に保存せず、サーバー側に保存する方向でお願いします

アバター
Ciel
記事: 252
登録日時: 13年前

Re: スレ立てるまでもない質問

#18

投稿記事 by Ciel » 13年前

javascriptでクッキーを使ったコードを書いておきます。

あまり詳しくないので、クロスブラウザの対応は行っていません。
簡単にテストしてみたらIEでしか動きませんでした。

コード:

var year,month,day,hour,minute,second;

data = new Date();

year=data.getYear();
month=data.getMonth()+1
day=data.getDate();
hour=data.getHours();
minute=data.getMinutes();
second=data.getSeconds();

document.cookie="year1="+year+";expires=Tue, 1-Jan-2030 00:00:00 GMT;"

var tmpchar=document.cookie;

var ar=new Array();
ar=tmpchar.match(/^year1=([0-9]+?);/);

alert(ar[1]);
適当なHTMLファイル作って、scriptタグで囲んでページ開いてみてください。
恐らく、現在の年数がポップアップで出ると思います。

ユーザにその指定した日時を入力させて、
このようにクッキーに書き込ませておけば、その情報を記録しておけます。
ユーザがページを閉じても、そのクッキーを毎回読めば問題解決ですよね。

時間がないので、詳しい説明は行いませんが、一度ググって色々クッキーの扱い方を調べてみて、
わからなければ、また質問して下さい。

以上です。
oui C'est la Vie♪

アバター
kimuchi
記事: 163
登録日時: 13年前
住所: 東京

Re: スレ立てるまでもない質問

#19

投稿記事 by kimuchi » 13年前

私はCGI系はPHPしか詳しくないのですが、
私の記憶が正しければJavaScript内部でPHPを使う事はできませんので、JavaScriptの関数を1秒ごとに呼ぶことができたとしてもその内部でPHPを使ってファイルを読み込むことはできません。
Ajaxという技術を使えば可能です。(検索すれば沢山ヒットします。)
非同期通信が可能で、実際にブラウザゲームにも使用される技術の一つでもあるようです。

ところで、日記の方を拝見させていただきましたがかなりの頻度でテキストファイルにアクセスする予定のようですね。
過度なファイルアクセスをするとそのファイルが壊れてしまう可能性があります。
アクセス速度も考えるとやはりデータベースを使ったほうが良さそうですが・・・

ひとつ質問なんですが、
サーバーはレンタルのものでしょうか?

返信

“HTML/CSS/JavaScript” へ戻る