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

    私的良スレ書庫

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

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    301 : Name_Not - 2021/01/25(月) 20:52:59.40 ID:???.net (+5,+7,-40)
    javascriptからアプリを起動しツイートしようとすると
    このページをtwitterで開きますか?のように確認ウィンドウが出てしまうのですが
    これを回避することは可能なのでしょうか?
    302 : Name_Not - 2021/01/25(月) 22:50:18.10 ID:???.net (-11,+0,+0)
    可能
    305 : Name_Not - 2021/01/26(火) 16:20:27.69 ID:???.net (+27,+29,-19)
    CSSのみで指定できる箇所にチャンネルを識別できる情報があれば可能なければ不可能

    それすらわからない君にはどのみち無理ですね
    306 : Name_Not - 2021/01/26(火) 18:03:14.66 ID:OSBnDhig.net (-26,+23,-17)
    firefoxアドオンで特定のチャンネルだけなんてことできたらなと
    308 : Name_Not - 2021/01/28(木) 13:03:37.46 ID:???.net (+14,+26,+0)
    >>307
    いやいやww
    309 : Name_Not - 2021/01/28(木) 16:45:04.58 ID:???.net (-25,-13,+0)
    >>307
    死ねよrubyガイジ
    310 : Name_Not - 2021/01/29(金) 23:44:34.02 ID:???.net (+29,+29,-47)
    スレここであってるかな?
    fancybox3に詳しい人います?
    マイナーなのか調べてもあんまりヒットしないし公式ドキュメント見てもわからんくて。。

    いわゆるモーダル系のjsライブラリなんだけど背景クリックしてもモーダルを閉じないオプションあれば教えてください
    311 : Name_Not - 2021/01/30(土) 00:02:38.11 ID:???.net (-28,-30,-65)
    >>310
    clickSlide: falseかclickOutside: falseあたりじゃない?
    312 : Name_Not - 2021/01/31(日) 22:50:58.75 ID:???.net (+32,+29,-132)
    子要素のイベントを親要素が取得する方法ってイベントバブリングだかで取得するしかないのでしょうか?
    例えばモーダルの中にアコーディオンメニューがあった場合、アコーディオンをクリックすると高さが増えるので
    ブラウザの高さよりも高くなることもあると思います。
    その場合に、クラスを付与してモニョモニョしたいといった用途です。

    また、モーダルの中でアコーディオンメニューが開くに限定せず、何かがクリックされて高さが変動する、
    不特定な状態で進めたいと考えています。

    現状イベントバブリングで対応できそうだったのですが、不特定なクリックイベント側で
    e.stopPropagation(); の記述があったら詰んでしまうと思いまして代替案が無いか質問いたしました。
    313 : Name_Not - 2021/02/01(月) 09:33:45.49 ID:???.net (+27,+29,-6)
    子要素の高さに合わせて親要素の高さが可変するように作っておくべき
    314 : Name_Not - 2021/02/01(月) 14:12:42.87 ID:???.net (+32,+29,-52)
    モーダルがブラウザの高さを超えた場合にレイアウトがが変わる仕様なので、質問しました。
    バブリングを使わなくても、同等のイベントを記述すれば、捕捉できそうなので解決ということで。
    ありがとうございました。
    315 : Name_Not - 2021/02/02(火) 21:00:07.62 ID:???.net (+32,+29,-292)
    すみません。
    どちらかというとプログラミング一般の質問になってしまうのかもしれないのですが
    ご意見をいただけますと幸いです。

    なにかしらのフォームがあるとします。
    ちなみにサーバーはNodeですが、あまり関係ありません。
    UXのためにフォームにはバリデーションがしっかりかけられており、
    ユーザーが期待しない値を入力したときには親切なエラーが定義されています。

    こういう状態で、サーバー側に意図しない値が来たときの挙動はどうすれば良いでしょうか?
    それが悪意のあるものであれば、どのように対応しても良いと思いますが、
    ブラウザが古い、何かしらのアシストツールの効果、(想定外の)APIとしての利用なども考えられると思います。

    ケースバイケースだと思いますが、ベテランの人たちの直感的に、
    サーバー側でもきっちり値の判定をして、HTTPエラーコードを返すのが良いのか、
    親切なエラーメッセージを返すのが良いのか、どちらでしょうか。

    それとも、校正はバリデーションに全て任せて、値を有効値に加工してそのまま鵜呑みにするのが良いのでしょうか。
    例えば値Xがユーザーの年齢なら、Xは1桁か2桁の数字列文字列を確認した後数値に直し、if(X<=3)throwなどとする代わりに、
    X = +Xなどとして、Xがたとえ0や負値になっても(それが脆弱性に繋がりそうでない感じなら)そのまま扱う、ということです。
    316 : Name_Not - 2021/02/02(火) 22:20:45.01 ID:???.net (+32,+29,-93)
    サーバー側でも基本的に同じチェックをして入力が不正ならエラーとして扱う
    ただし親切なエラーメッセージを出すかどうかはものによる
    不親切でもよければ汎用的なエラーメッセージを使うことはよくある

    クライアント側に比べてサーバー側の入力チェックを緩くするケースは
    種類の異なる複数のクライアントをサポートする必要があって
    一番緩いクライアント仕様に合わせる必要がある時くらい
    317 : Name_Not - 2021/02/02(火) 22:44:07.51 ID:???.net (+33,+30,-77)
    悪意について書いてるから理解してるじゃない
    それが最低ラインだから当然だよね

    鵜呑みにというか忖度すると、思ってもみなかった所で躓くから、俺はサーバでは厳密にエラー入力として処理
    それが不便なら入力の方でマイナス符号とかの不正入力はバリデーションすればいいって主張
    エラーメッセージは好きにすればいいと思うけど、そんな物を利用者に見せたりしても仕方ないと思う
    親切なエラーメッセージに凝るくらいなら親切な入力で弾いとけよと
    318 : Name_Not - 2021/02/03(水) 19:08:03.55 ID:???.net (+33,+30,-38)
    なるほど。
    ・手を抜くなら徹底的に手を抜く
    ・厳密にするなら徹底的に厳密にする
    という2択に自分の中で無意識に絞っていましたが、
    正解はその間にありそうだということに気づくことができました。
    どうもありがとうございました。
    319 : Name_Not - 2021/02/03(水) 23:55:59.94 ID:???.net (-29,-30,-74)
    関数のイベントオブジェクトを引数として利用する場合、他の引数ってどうやって渡せばよいのでしょうか?
    下みたいなときにイベントオブジェクト以外渡せなくないでしょうか?
    var hoge = function(e) {
    console.log(e.currentTarget);
    }
    321 : Name_Not - 2021/02/04(木) 00:29:04.09 ID:???.net (-25,-30,-114)
    部分適用して一引数関数にすればいい

    var hoge = function(a, e) {
    return function(e) {console.log(a, e.currentTarget)}
    }
    とか
    var hoge = (a, e) => (e) => console.log(a, e.currenTarget)
    とか

    でtarget.addEventListener('click' hoge(str));
    322 : Name_Not - 2021/02/04(木) 00:31:11.92 ID:???.net (-28,-26,-24)
    あとは引数で渡すんじゃなくclosureで外側のスコープの変数をキャプチャするか
    323 : Name_Not - 2021/02/04(木) 05:12:24.83 ID:???.net (+13,+14,-15)
    はい、jsのクソ仕様来ました~
    324 : Name_Not - 2021/02/04(木) 06:21:55.57 ID:???.net (+16,+23,-4)
    クソ仕様って何の事?
    325 : Name_Not - 2021/02/04(木) 09:53:27.62 ID:???.net (+27,+29,-17)
    クロージャーはクソ仕様
    C言語にそのようなものはない
    326 : Name_Not - 2021/02/04(木) 10:40:45.99 ID:???.net (+33,+29,-36)
    関数に放り込むべき2つ目の引数はいつ決定するの?
    まさかクリックした瞬間って訳でもないだろうし
    年取ったせいかコード読んでも意図が読めん
    327 : Name_Not - 2021/02/04(木) 12:15:22.73 ID:???.net (-27,-30,-179)
    addEventListenerした後に追加の引数の値が決まるなら
    オブジェクトにしておいて値を変えればいい

    handleEvent()実装したオブジェクトを使うなら
    そのオブジェクトのプロパティを使うようにメソッドを実装しておいて
    あとからプロパティの値を変更する
    328 : Name_Not - 2021/02/04(木) 15:44:58.18 ID:???.net (-23,-16,-9)
    比較対象が化石のC言語て・・
    329 : Name_Not - 2021/02/04(木) 20:06:53.15 ID:???.net (+32,+29,-2)
    >>326
    年のせいにするな。お前がアホなんや
    330 : Name_Not - 2021/02/04(木) 23:56:11.87 ID:???.net (+31,+30,-160)
    >>323
    JSには基本的に「クソ仕様」というものはない
    主要なコミュニティがあってスタイルが決まっている言語とは違って
    そういう束縛がなくバリエーションに富んだ書き方が自由にできるのがJSの良さ
    それが嫌なら幾らでもaltJSがある

    JSをわざわざ使っていて厳格だとか単純性にこだわるのはアホ
    JSをあえて使うのならその奥深い複雑性を活かして効率化を図り、
    厳格性ではなく曖昧性を生かして問題を問題でないように吸収するのがJSの使い方
    それが嫌ならJSで頑張ろうとせずに素直にaltJSを使うのが1000倍賢い

    Cが使いたかったらCで書いてemscriptenでも通せばいいだけ
    無理してJSでC風に書く必要はないし、ましてや他人にそれを押し付ける理由は1つもない
    331 : Name_Not - 2021/02/05(金) 00:02:16.90 ID:???.net (-26,-19,-4)
    クソレス vs クソレス
    334 : Name_Not - 2021/02/06(土) 07:06:12.78 ID:???.net (+37,+29,-82)
    >>332
    私は「基本的に」と言った
    var、undefinedもそれ自体がまるごとクソ仕様なのではない
    使い方、組み合わせによっては注意すべきポイントが出てくるということで
    そういう機能までクソ仕様と言ったら多くの言語の多くの機能がクソ仕様になる
    var、undefinedも他の言語も含めて広い目で見たとき取り立ててクソ仕様と断定できるほどではない
    分かったか?(ドヤ)
    335 : Name_Not - 2021/02/06(土) 13:19:10.11 ID:???.net (+27,+29,-5)
    お前あいかわらず長文クソレスしかしないな
    336 : Name_Not - 2021/02/06(土) 17:25:44.40 ID:???.net (+36,+29,-45)
    クロージャーって1回しか使わない処理をエレガントに書くためのものだろう?
    簡単な条件式で内容変える程度なら三項演算子とかでもいいけど(あれはエレガントとは言えぬが)
    337 : Name_Not - 2021/02/06(土) 17:26:53.12 ID:???.net (+33,+28,-24)
    クロージャってjsだと劣化クラスみたいな感じだよな
    他の言語のクロージャとは違う
    338 : Name_Not - 2021/02/06(土) 17:45:41.48 ID:???.net (+32,+29,-45)
    >>336
    1回しか使わないんだったら引数で渡せばいい話で、外のスコープの変数にアクセスする必要なんてない。

    >>337
    javaと間違えてね?
    339 : Name_Not - 2021/02/06(土) 18:10:28.35 ID:???.net (+37,+29,-72)
    >>336
    それは単なる無名関数では?w
    使わなかろうがクロージャくらい覚えとけよw
    なんで知らない段階で否定すんだよw
    否定するにしても知ってて否定するほうがカッコいいぞ?w
    340 : Name_Not - 2021/02/06(土) 18:42:06.41 ID:???.net (+17,+14,-6)
    >>337
    >他の言語のクロージャとは違う

    何が違うの?
    341 : Name_Not - 2021/02/06(土) 21:07:05.29 ID:???.net (+30,+29,-23)
    >>339
    別に否定なんてしとらんが
    ていうか無名関数とクロージャーって同じものじゃないのけ
    342 : Name_Not - 2021/02/06(土) 21:36:25.42 ID:???.net (+22,+29,-1)
    同じものではないな
    343 : Name_Not - 2021/02/06(土) 22:24:45.99 ID:???.net (+20,+27,-2)
    関数とスコープくらい別物
    344 : Name_Not - 2021/02/06(土) 23:51:31.68 ID:???.net (+27,+29,-21)
    関数とスコープは直交した概念だから比較対象として不適切
    345 : Name_Not - 2021/02/07(日) 00:31:10.16 ID:???.net (+27,+29,-23)
    んでもクロージャーって、意図からしてスコープの追加じゃない?
    346 : Name_Not - 2021/02/07(日) 06:24:00.68 ID:???.net (-26,-28,-29)
    >>341
    JSは全てのユーザー定義関数がクロージャと言って良い
    クロージャにならない関数はビルトインとかnew Functionで生成したものとかごく一部
    347 : Name_Not - 2021/02/07(日) 08:08:12.06 ID:???.net (+25,+27,-54)
    new Function 構文を使った事なかったんで知らんかった
    ローカルではなくグローバルのレキシカル環境を参照するから個別なクロージャには出来ないのか
    348 : Name_Not - 2021/02/07(日) 09:18:15.50 ID:???.net (+32,+29,-52)
    Shadow DOMのようにこの先スコープの浸透を防いで隔離する機能が入る可能性は高い
    最近盛り上がってるのだとモジュールブロックとか
    http://github.com/tc39/proposal-js-module-blocks
    349 : Name_Not - 2021/02/07(日) 09:56:58.67 ID:???.net (+22,+29,-7)
    なんでえ藪から棒に
    350 : Name_Not - 2021/02/07(日) 19:31:55.79 ID:???.net (+30,+27,-8)
    >>334
    基本的にどんな言語にもクソ仕様はあります
    JavaScriptも例外ではありません
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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