
A 回答 (13件中1~10件)
- 最新から表示
- 回答順に表示
No.13
- 回答日時:
No.4,6,8,12です
> しらべときます。
といっておきながら、しらべるまえに、「とある(うちゅうじんのような?)かた」に
おしえていただきました。いか。そのいんようです。
・encodeURI(s) は、s を「URI として機能するよう」エスケープする。
・encodeURIComponent(s) は、s を「URIComponent として埋め込めるよう」エスケープする(それ自体が URI として機能するとは限らず、元の形に戻す責任はアプリ側が負う)。
Cookie のドメイン指定は(相対)URI として機能させねばならないので、ここで encodeURIComponent() を使ってはいけません。
ということです。(のどぼとけを、れんだで、ちょっぷしながらいうと、それっぽいです)
それと、「とある(こっちはふっつうのちきゅうじんの)かた」からも、
してきがありました。
function addDay ( day, date ) {
if( 'number' !== typeof day ) day = 0;
if( 'object' !== typeof date ) date = new Date;
return (date.setDate( date.getDate() + day ), date);
}
は、
function addDay ( day, date ) {
if( 'number' !== typeof day ) day = 0;
if( 'object' !== typeof date ) date = new Date;
date.setDate( date.getDate() + day );
return date;
}
にです。やってることは、おなじなのですが、まぎらわしくかいてどうする?
ということで。ていせいしてください。ごめんなさい。
No.12
- 回答日時:
なぁ~にぃ~やっちまったなぁ~!
targetDay = addDay(2).getTime();
を
targetDay = addDay( LIMIT_DAY ).getTime();
に。
encodeURIComponent() ? ごめん、しらべときます。
(よってたかって・・・。)
No.10
- 回答日時:
興味深かったので、URIエンコード関数を一通り調べてみました。
encodeURIComponent - MDC
https://developer.mozilla.org/ja/Core_JavaScript …
decodeURIComponent - MDC
https://developer.mozilla.org/ja/Core_JavaScript …
encodeURI - MDC
https://developer.mozilla.org/ja/Core_JavaScript …
decodeURI - MDC
https://developer.mozilla.org/ja/Core_JavaScript …
javascript: escape(), encodeURI(), encodeURIComponent() 比較 (groundwalker.com)
http://groundwalker.com/blog/2007/02/javascript_ …
You Look Too Cool ? JavaScriptのescapeとencodeURIとencodeURIComponentの違い
http://stabucky.com/wp/archives/554
encodeURIComponent() は知っていたけど、encodeURI() は知らなかったなあ。
-------
var uri = 'http://example.com/search?foo=テスト& foo=&hoge=*!"(),/.&end';
alert (encodeURI(uri)); // http://example.com/search?foo=%E3%83%86%E3%82%B9 …
alert (encodeURIComponent(uri)); // http%3A%2F%2Fexample.com%2Fsearch%3Ffoo%3D%E3%83%86%E3%82%B9%E3%83%88%26%20foo%3D%26hoge%3D*!%22()%2C%2F.%26end
-------
・encodeURIComponent() はGETパラメータなどにURIを埋め込むときのために完全にURIエンコードする。
・encodeURI() はURIとしてはほぼ正しいのだけど、URIエンコードの取りこぼしがある場合において安全な文字にエスケープする。
encodeURI() は「引数にとる値がURIとして正しい文字列である必要がある」ので、使いどころが難しいですね。
万全を期すならば、URIをパースする必要があるのではないかと思います。
例えば、#8 で babu_babooさん は encodeURI (domain) を使われていますが、「domain が正しいURIであること、をどこで保証するのか」って問題が出てきそうです。
私ならそういうのを考えるのが面倒なので、encodeURIComponent() で強制的にエンコードする方法をとるかもしれない…。
No.9
- 回答日時:
//その2_________________________
var COOKIE_NAME = 'myCount';
var LIMIT_DAY = 2;
var SHELF_LIFE = 10;
var TIMEOUT_MESS = 'おとといきやがれぇ~!';
var node = doc.getElementById( 'mess' );
var targetDay = parseInt( getCookie( COOKIE_NAME ) );
if( !targetDay ) {
targetDay = addDay(2).getTime();
setCookie( COOKIE_NAME, targetDay + '', SHELF_LIFE );
}
(function () {
var text = '花火点火まであと、';
var s = (targetDay - (new Date).getTime()) / 1000 |0;
if (s < 0)
text = TIMEOUT_MESS;
else {
text += padding( s / 86400 |0) + '日と' +
padding( s % 86400 / 3600 |0) + '時間' +
padding( s % 3600 / 60 |0) + '分' +
padding( s % 60 |0) + '秒です';
setTimeout (arguments.callee, 1000);
}
node.firstChild.nodeValue = text;
})();
})(this.document);
//-->
</script>
No.8
- 回答日時:
かいてみた。
やっぱりむだにながいので、ぶんかつです。ぜんかくくうはくは、はんかくにでもして。
2にちたってみないと、むしとりできませ~ん!?
<!DOCTYPE html>
<title></title>
<style type="text/css">
body { background : black; color: red; }
p { font-size:200%; }
p.cm { font-size: 400%; color: green; }
p.cm2 { font-size: 100%; color: yellow; }
<style type="text/css">
</style>
<body>
<p id="mess">有効期限は、初めてページを閲覧してから2日です</p>
<p class="cm">花火大会開催中!!</p>
<p class="cm2">(出場者募集中、商品はなんと「黒豆10粒」)</p>
<script type="text/javascript"><!--
(function (doc) {
function addDay ( day, date ) {
if( 'number' !== typeof day ) day = 0;
if( 'object' !== typeof date ) date = new Date;
return (date.setDate( date.getDate() + day ), date);
}
function getCookie ( name ) {
name = encodeURIComponent( name ).replace( /([.*()]) /g, '\\$1' );
var value = doc.cookie.match( RegExp( name + '\\s*=\\s*(.*?)(?:[\\s;,]|$)' ) );
return value ? decodeURIComponent( value[1] ): '';
}
function setCookie ( name, value, day, path, domain ) {
return doc.cookie = encodeURIComponent (name) + '=' + encodeURIComponent (value) +
'; ' + 'expires=' + ( addDay(day) ).toUTCString () + '; ' + (path ? 'path=' + encodeURI (path) + '; ': '') +
(domain ? 'domain=' + encodeURI (domain) + '; ': '');
}
function padding ( n ) { return n < 10 ? '0' + n: n; }
No.7
- 回答日時:
>babu_babooさんへ
いやいや、ぜんぜんそんなことはないですよ^^
大した引き出しもないのに出しゃばって失敗したなぁと思って;
まだまだわからないことが多いので、
慎重に回答しないとならないなぁと反省しておるところです。
それに誤りや間違いを指摘されるのは自分も勉強になるし、
悪い気どころか逆に「ありがとう」という気持ちです。
ですので、ほんとにお気になさらずに^^
No.6
- 回答日時:
zeff さんへ
きをわるくしないでね。
ほかで、taloo さんがおっしゃっられていましたが、
>他の回答者からのツッコミがないというのが最大の欠点
まったく、そのとおりだとおもいます
ほかのかたがたのように、てきかくな「資料」をていじしませんが
「ぼそっと」は、つづくかな?
わたしに、がっつんとつっこむと、へこみ(&むつける(方言))ますが、ぬる~ぃのならOK!
No.5
- 回答日時:
今回のご質問の解決点は「Cookieを使うんだ」という点だと思います。
スクリプトはとりあえず動いたのでオマケで載せただけです。
その中にキーワードが含まれてそうだったので。
escapeやunescapeが何の働きをしてるかわかっていませんし;
非推奨?なのも知らないぐらいで^^;
だから自分が偉そうに言うことでは無いんですけど、
正しく動くスクリプトが欲しいならそれを待つも良し、
がんばって自分で作ってみたけど動かない等の場合に再質問、
というのが適切では無いでしょうか。
No.4
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
人気Q&Aランキング
-
4
google apps scriptの終了のさせ方
-
5
【西暦等の変換】
-
6
JavaScriptで平日のみをカウン...
-
7
jsによって検索プルダウン、都...
-
8
getElementByIdでASP.NETのText...
-
9
特定のclassを表示、非表示にする
-
10
アルファベットABCD…をスマート...
-
11
ローカルにあるファイルを検索...
-
12
引数なしの関数で疑問です
-
13
現在時刻をボタンクリックで表示
-
14
GASのエラー「undefined からプ...
-
15
【javascript】正規表現で括弧...
-
16
GASについて
-
17
googleスプレッドシートのApps ...
-
18
APIを使って埋め込んだグーグル...
-
19
なぜmatchメソッドがエラーにな...
-
20
このスクリプトにアレンジを加...
おすすめ情報
公式facebook
公式twitter