のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,478,084人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.105 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    551 : Name_Not - 2013/03/16(土) 03:15:55.78 ID:??? (+53,-29,-42)
    お気に入りのJavaScript本あります?
    自分はオライリー信者なんで、
    フラニガン「JavaScript」
    誰かさん「JavaScript:The Good Parts」
    誰かさん「JavaScriptパターン」
    誰かさん「Prototype & script.aculo.us」
    あたり好きです。
    552 : Name_Not - 2013/03/17(日) 11:22:23.60 ID:??? (+57,+24,-17)
    >>551
    技評のJavaScriptポケットリファレンス一筋
    553 : Name_Not - 2013/03/17(日) 15:15:01.06 ID:??? (+41,+0,-179)
    JavaScriptの文法チェックでお知恵をお借りしたいことがあります。

    ユーザーに入力させたJavaScriptコードの文法チェックをやりたいんですが、
    evalする以外に方法はありますか?
    なぜevalする方法だとイヤかというと、まだ入力した時点(evalチェックした時点)では存在しない変数にアクセスするJavaScriptコードが入力される可能性があるからです。

    変数の存在の有無の確認を除いたJavaScriptコードの文法チェック方法、なにか良い方法はないでしょうか。

    あ、もちろん開発ツールやIDEのようなツールで文法チェックするというのではなく、JavaScriptでブラウザ上で文法チェックしたいということです。

    色々考えているんですが、良い方法が見つかりません……。
    554 : Name_Not - 2013/03/17(日) 15:24:39.68 ID:??? (+3,-29,-4)
    >>553
    Esprima みたいなパーサー使うとか?
    555 : Name_Not - 2013/03/17(日) 15:52:27.43 ID:??? (+70,+23,-11)
    正規表現を超頑張る
    556 : Name_Not - 2013/03/17(日) 16:04:36.55 ID:??? (+47,+15,+1)
    557 : Name_Not - 2013/03/17(日) 20:17:47.95 ID:??? (+8,-30,-132)
    皆様、ご助言ありがとうございます。
    >>551 様がご紹介してくださったEsprimaを使ってうまくいきました。
    http://esprima.org/doc/index.html

    // valueにJavaScriptコードが入っているとする。
    try {
    return syntax = esprima.parse('(' + value + ')');
    } catch (e) {
    alert(e);
    }

    上記のようなコードで、不正なJavaScriptコードを渡すと例外が投げられて、
    その例外のメッセージが非常に良い感じのエラー文でした(エラーになった行とかも書いてある)。
    ありがとうございました!
    558 : Name_Not - 2013/03/18(月) 05:12:34.40 ID:??? (+3,-29,-7)
    >>553
    単に new Function(ソース) でもOKのような
    559 : Name_Not - 2013/03/19(火) 08:28:35.33 ID:??? (+3,-30,-35)
    obj={ x:1 , y:2};
    とプロパティを作って、
    obj.x=obj.x.toFixed(3);
    とする場合、これをもっと簡潔に書くことってできるんでしょうか
    いちいち2回書くのは面倒なんですが・・・。
    560 : Name_Not - 2013/03/19(火) 08:42:56.45 ID:??? (+3,-30,-52)
    別におすすめはしないが
    with (obj = {x:1, y:2}) { x = x.toFixed(3); }
    とか?かえって分かりにくくなるだけのような気もする。どっちかというと
    obj = { x: 1.toFixed(3), y: 2};
    で十分なんじゃないの。
    561 : Name_Not - 2013/03/19(火) 08:47:02.80 ID:??? (+2,-30,-11)
    こうしないとエラーになるな
    obj = { x: (1).toFixed(3), y: 2};
    562 : Name_Not - 2013/03/19(火) 08:54:09.91 ID:??? (+57,+29,-38)
    プロパティってそんな風にも代入できたんですか
    いちいち1個づつ読み出して使ってました。
    それでやれば綺麗にできそうです。
    ありがとうございます。
    563 : Name_Not - 2013/03/19(火) 09:05:20.24 ID:??? (-1,-29,-5)
    >>561
    1..toFixed(3) でもおk
    564 : Name_Not - 2013/03/19(火) 09:26:04.63 ID:qoem3vAm (+25,+19,-6)
    >>551
    GoodPartsは部分的に納得イカない部分もおおいなあ
    565 : Name_Not - 2013/03/20(水) 11:01:32.95 ID:??? (+3,-30,-121)
    $(document).ready(
    function(){
    $('.fd').hover(function(){
    $(this).fadeTo('fast', 0.6);
    }
    }
    );
    な感じでフェードを付けてるんだけど
    後から
    $('.abc').addClass('fd');
    としても有効にならない・・・
    多分最初の読み込んだときに判断してるからなんだろうけど
    付け足したクラスfdにも有効にする方法はないかな?
    566 : Name_Not - 2013/03/20(水) 12:05:50.74 ID:??? (-2,-30,-34)
    自己解決
    $('.img_fd').live('mouseover', function(e){
    $(this).fadeTo('fast', 0.6);
    });
    567 : Name_Not - 2013/03/20(水) 12:28:29.54 ID:??? (-2,-30,-14)
    $().liveより$().delegateの方がいいとか、1.7以上なら$().on使ったほうがいいとか
    568 : Name_Not - 2013/03/20(水) 15:03:54.34 ID:??? (+31,-30,-45)
    おい、バグか?
    次を01~10でやってみてくれ・・・
    ’08’と’09’で恐ろしい事が起きる。

    parseInt('01')

    parseInt('10')
    569 : Name_Not - 2013/03/20(水) 15:11:16.01 ID:??? (+41,-30,-114)
    >>568
    parseInt の第一引数が 0から始まり、第二引数が無指定の場合、それは8進数として解釈される
    そのため、それは正しい挙動。

    ただし、parseInt は ECMAScript 5 で挙動が変わり、常に 10進数で解釈されるようになった。
    現に Firefox 21 からは
    parseInt("08") === 8 //=> true
    が成り立つ。
    570 : Name_Not - 2013/03/20(水) 15:14:00.24 ID:??? (+4,-30,-19)
    >>568
    書き忘れたけど以下も参照。

    parseInt - JavaScript | MDN
    http://developer.mozilla.org/ja/docs/JavaScript/Reference/Global_Objects/parseInt
    571 : 568 - 2013/03/20(水) 15:14:26.82 ID:??? (+57,+29,-36)
    そういうことか!
    10進数で考えていた俺がアマちゃんだな。

    にしても8進数とは中途半端な・・・
    572 : 568 - 2013/03/20(水) 15:20:51.02 ID:??? (+57,+29,-13)
    ちがう、0xなら16進数ってことか。
    getしてきた数字が二桁揃えだから変になったんだね。
    なんにしろ、次からはとりあえず第二引数つけるようにしよう。
    573 : Name_Not - 2013/03/20(水) 16:23:59.34 ID:??? (+63,+29,-35)
    >>569
    「イケメン」が広辞苑に載ったような気分だな
    574 : Name_Not - 2013/03/20(水) 16:25:21.80 ID:??? (+57,+29,-26)
    第二引数無しだとC言語の数値リテラルみたいに解釈されるってことだね
    まあでもC言語なんて知らん人が増えてきたから8進の方が削除されるのは妥当だな
    575 : Name_Not - 2013/03/20(水) 17:53:40.52 ID:??? (+11,-29,-45)
    >>569
    8進数で解釈する処理系は、「正しい挙動」なのか?
    勝手な実装であって、SpiderMonkeyにはあってRhinoにはないんじゃなかったっけ。
    576 : Name_Not - 2013/03/20(水) 18:06:24.74 ID:??? (+3,-29,-11)
    >>575
    ECMAScript 3rdだと、8進か10進のどちらかでよくて、推奨は10進って書いてあるみたい
    577 : Name_Not - 2013/03/20(水) 21:09:58.35 ID:??? (+0,-29,-3)
    >>575
    ES3なら>>576だから正しい
    ES5なら間違い
    578 : Name_Not - 2013/03/20(水) 23:48:41.57 ID:??? (+2,-25,+0)
    なんで0oじゃなくて0になったんだろう
    579 : Name_Not - 2013/03/20(水) 23:59:39.14 ID:??? (+0,-28,-7)
    シラネ
    CやPerl時代から0付けると8進法だったよ
    580 : Name_Not - 2013/03/21(木) 00:17:50.55 ID:??? (-1,-29,-24)
    CというかUNIXで8進数けっこう使うからね
    ファイルのパーミッションの値とか8進表記じゃないとピンとこない
    581 : Name_Not - 2013/03/21(木) 00:25:22.06 ID:??? (+1,-29,-33)
    >>564
    GoodPartsの(というかJSLintの)ローカル変数宣言の位置については、むしろ有害だと思う。
    582 : Name_Not - 2013/03/21(木) 00:45:05.44 ID:??? (+57,+29,-16)
    まぁあれはトレードオフだと思う
    Cに戻っちゃった感あるけど
    583 : Name_Not - 2013/03/21(木) 01:13:03.98 ID:??? (-1,-29,-36)
    UNIXのhostsファイルで、桁揃えで書きたくて
    3桁未満は0を補って書いたら、うまく通信が出来なかった。
    どうも頭に0があると8進数として解釈してるっぽかった。
    こんな所にまで。
    585 : Name_Not - 2013/03/21(木) 08:11:36.57 ID:??? (-1,-29,-39)
    あれ?全く同じじゃないっぽい?
    FireGesturesでlocation.hrefが取得できなかった
    586 : Name_Not - 2013/03/21(木) 11:00:46.36 ID:??? (-11,-29,-3)
    <html>
    <body>
    </body>
    </html>
    587 : Name_Not - 2013/03/21(木) 11:18:34.68 ID:??? (+2,-29,-10)
    Backbone.js って基本サーバサイド側で使うのですか?
    588 : Name_Not - 2013/03/21(木) 18:09:32.49 ID:??? (+57,+29,-14)
    ふと思ったんだけど、ネットでやり取りする時のURLって通貨なみの価値があるよね
    589 : Name_Not - 2013/03/21(木) 18:36:42.93 ID:pDZ+/A/R (+10,+25,-2)
    どゆこと?
    590 : Name_Not - 2013/03/21(木) 20:43:28.03 ID:??? (-1,-24,-12)
    >>587
    クライアント側で使う
    591 : Name_Not - 2013/03/22(金) 01:24:04.37 ID:??? (+52,+29,-2)
    さて、そろそろヲタでも放置するか
    592 : Name_Not - 2013/03/22(金) 01:50:55.14 ID:??? (+11,-30,-69)
    >>584
    document.location.hrefとdocument.URLの一番の違いはdocument.URLの方は参照しかできないこと
    document.location.hrefとdocument.URLを参照したときの内容は同じはずだけど、
    ブラウザ依存で違う場合もある
    593 : Name_Not - 2013/03/22(金) 02:25:59.62 ID:??? (+3,-29,-75)
    jQueryあればprototype.jsそれにscript.aculo.usは要らないかな?
    まぁ何がしたいかによるんだよろうけど……。
    実際使うときに考えるのは
    「あれができるからここで使おう」
    みたいなデザインの発想の流れになることあるよね。
    prototype.js、script.aculo.usって便利?
    使えた方がいい?
    594 : Name_Not - 2013/03/22(金) 03:11:19.20 ID:??? (+28,+8,+1)
    >>592
    595 : Name_Not - 2013/03/24(日) 14:08:58.44 ID:??? (+3,-30,-157)
    Firefoxで使うアドオン作成してます
    サイドバーのボタンを押すとページを移動させてそのページにあるボタンを押すといった動作をさせたいです
    function openUrl(URL) {
    content.wrappedJSObject.location = URL;
    newTabBrowser = gBrowser.selectedBrowser;
    newTabBrowser.addEventListener("load", highlight, true);
    }
    このプログラムを動かしてページを移動させることまでができたのですが
    現在のページのボタンを押すようなプログラムってどういう感じになりますか?
    例えばグーグルのページに飛んで検索窓になにかいれて押すといったことをさせたいです
    596 : Name_Not - 2013/03/24(日) 16:24:16.12 ID:??? (+3,-30,-91)
    var tableHtml = [];
    tableList.forEach(function() {
    tableHtml.push('<table></table>');
    });
    tableHtml = tableHtml.join('');
    $('body').append(tableHtml);
    var tableArray = $('table');

    同じ要素を複数一度に追加するのに、こんなコードを沢山書いてるけど
    もっとシンプルに書ける気がしてならない。
    もっと簡単に書けるなら教えてください。
    597 : Name_Not - 2013/03/24(日) 19:41:03.97 ID:??? (+3,-30,-208)
    クッキーで質問です。

    サーバー側PHPで生成したページを読み込んでいて、PHPからクッキーをセットしています。
    その値をページのJavaScriptで読み出そうと
    alert( document.cookie );
    としても、読み出すことができません。

    ブラウザのデバッガでクッキーの値を見ると、ちゃんと値が入っています。

    次に、JavaScriptからクッキーをセットしてみました。
    document.cookie = "key01=value01;"
    この後でalert( document.cookie );をすると、
    key01=value01
    が表示されます。
    ブラウザのデバッガでクッキーの値を見ると、PHPでセットした値とJavaScriptでセットした値が入っています。

    同じページの下でも、これらは別のクッキーなんでしょうか?
    PHPでセットしたクッキーをJavaScriptから読み出す方法はありますか?
    598 : Name_Not - 2013/03/24(日) 21:30:16.53 ID:??? (+56,+23,-41)
    質問を変えましょうか。

    あるページを読み込んだ時に、クッキーがセットされました。
    ブラウザでクッキーの値を見ると、ちゃんとセットされています。
    その値をページ側のJavaScriptで読み出すことは、できますか?
    document.cookieを参照しても、空になっていました。
    599 : Name_Not - 2013/03/24(日) 22:01:36.74 ID:??? (-2,-30,-36)
    クッキーをセットする時に
    'expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/;'
    を足してみるとか。
    600 : Name_Not - 2013/03/24(日) 22:03:53.04 ID:??? (+0,-27,-16)
    そのサーバ側から送られてくるのはHttponly属性がついてるんじゃないのか
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について