のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,490,845人
昨日: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
551 : Name_Not - 2021/03/03(水) 23:58:56.40 ID:???.net (-27,-30,-312)
const input = [
"2021-03-03T00:00:00+09:00",
"2021-03-04T00:00:00+09:00",
"2021-03-05T00:00:00+09:00",
"2021-03-06T00:00:00+09:00"
]

//1. DateTimeFormat
const formatter = new Intl.DateTimeFormat('jp', {month: 'long' , day: 'numeric'})
input.map(x=>formatter.format(new Date(x)))

//2. Regex
const regex = /¥d{4}-(¥d{2})-(¥d{2})T.*/
const replacer = ($0, $1, $2) => `${Number($1)}月${Number($2)}日`
input.map(x=>x.replace(regex, replacer))
552 : Name_Not - 2021/03/04(木) 00:19:36.02 ID:???.net (+27,+29,-21)
すごい… 高度なコードです…
参考にさせていただきます。
553 : Name_Not - 2021/03/04(木) 04:07:09.62 ID:???.net (-27,-30,-283)
Node.js なら、Date 型へ変換できるけど、
環境依存だから、Moment.js とか使うのかな?
ブラウザは、よく知らない

const input = ['2021-03-03T00:00:00+09:00', '2021-03-04T00:00:00+09:00'];

let results = input.map( (str) => new Date(str) );
console.log(results);

出力
[ Wed Mar 03 2021 00:00:00 GMT+0900 (GMT+09:00), 
Thu Mar 04 2021 00:00:00 GMT+0900 (GMT+09:00) ] 
556 : Name_Not - 2021/03/04(木) 06:42:43.87 ID:???.net (-27,-30,-89)
form の name は非推奨になってないんじゃないか?
非推奨になっちゃうとGETで &name=value という形でURLで値が渡せなくなる

namedItem(’id名’) というのが使えるようだ
forms['formName']['childname'].value は、nameの代わりにidを使って
forms.namedItem('formid').elements.namedItem('childId1').value
と書ける
557 : Name_Not - 2021/03/04(木) 06:53:42.70 ID:???.net (-27,-30,-20)
ありゃ
forms.namedItem('formid').elements.namedItem('childId1').value
を略して
forms['formid']['childId1'].value
でも行けたぞ
558 : Name_Not - 2021/03/04(木) 07:12:32.48 ID:???.net (+17,+29,-4)
勉強になるなあ…
560 : Name_Not - 2021/03/04(木) 12:37:43.13 ID:???.net (+33,+30,-82)
「非推奨」と「廃止」は違う
「非推奨」とは即ち今はバリバリ使えるということだ
仮に「非推奨」な機能を使ってコンテンツを作り、その直後にメジャーブラウザが廃止を発表したとしても
実際に廃止される前にコンテンツの寿命が尽きる事が殆ど
よって何が一番ダメかというとこの手のことに真剣に考える事自体
562 : Name_Not - 2021/03/04(木) 22:07:58.82 ID:???.net (-27,-30,-213)
ちょっと有り得ない現象に遭遇したのでどうしたらいいか指南お願いします

console.log(a)// -> {hoge:0}
console.log('hoge' in a)// -> true
console.log(a['hoge'])// -> undefined <-!?!?!?
console.log(a)// -> {hoge:0}

オブジェクトそのまま出力したらhogeってプロパティがある
プロパティ名をチェックしてもあると帰ってくる
なのにアクセスしたらundefined

行き詰まった\(^o^)/
データがバイナリ的に壊れてるとかですかねこれ
同じようなケースの経験ある人いますか?
563 : Name_Not - 2021/03/04(木) 22:17:06.78 ID:???.net (+26,+28,-24)
そのオブジェクトをどうやって生成したか?

それにどうやって、hoge 属性を追加したか?
564 : Name_Not - 2021/03/04(木) 22:26:11.57 ID:???.net (+29,+29,-106)
ajaxでDBから読んだデータをdatatableというライブラリに読ませてる中で発生
属性はajaxで取得した時点で付加されてます
それを弄らずに渡してるだけ

ある特定のデータだけで起こる
この変数をObject.assignでコピーした変数でも同様の現象
DBに格納されてるデータが壊れてるのか?🤔
565 : Name_Not - 2021/03/04(木) 23:00:41.58 ID:???.net (-27,-29,-5)
>>564
a.hogeでもアクセス出来ない?
566 : Name_Not - 2021/03/04(木) 23:04:26.12 ID:???.net (+32,+29,-37)
出来ないですね
マジで不思議
特定のデータで100%再現するからデータの問題かな
というかそう思いたい

他の言語でもこんなこと起きたことない
javascriptも10年以上世話になってるけどこんなの初めて
569 : Name_Not - 2021/03/04(木) 23:19:25.93 ID:???.net (+0,+2,-19)
実際にはプロパティ名は変数に格納されてるのそういう単純なミスではないです
570 : Name_Not - 2021/03/04(木) 23:21:39.94 ID:???.net (+14,+16,-41)
明日データベースの中身をバイナリエディタでみてみます
572 : Name_Not - 2021/03/05(金) 00:04:46.84 ID:???.net (+25,+29,-11)
単純でお馬鹿な方法だと、全部分割してから、二番目以降を連結したらどうか?
574 : Name_Not - 2021/03/05(金) 00:22:29.03 ID:???.net (+27,+29,-5)
やり方は色々あるけど綺麗に書くのが難しいな
577 : Name_Not - 2021/03/05(金) 01:42:32.08 ID:???.net (+6,+8,-1)
@がない場合があるかないか
578 : Name_Not - 2021/03/05(金) 01:44:27.46 ID:???.net (-29,-30,-92)
また、どうでもいい質問
window.requestAnimationFrame() の戻り値の requestId
window.cancelAnimationFrame() に渡すと callback は呼び出されない
こんな仕様があるんで騙されたけど、このリクエストって callback で次のリクエストを自分で呼ばないと駄目なのね
周期的に呼び出し続けるものだと思ってしまった

この仕様って何を考えて作ったんだろ?
呼び出すとは言ったが、(略)十年二十年後ということも!!
579 : Name_Not - 2021/03/05(金) 06:31:03.92 ID:???.net (-27,-30,-83)
Ruby では、
str = "a@b@c@d";

# 左からコロンで、2つに分割する。最大分割数・limit は2
p ary = str.split( '@', 2 )

出力
["a", "b@c@d"]

Lo-dash には、無いの?
581 : Name_Not - 2021/03/05(金) 07:18:48.99 ID:X3aPXloc.net (+25,+29,-6)
>>577
ありません、かならず@が存在します
綺麗に書くの難しいんですね、これ
583 : Name_Not - 2021/03/05(金) 11:38:31.33 ID:???.net (-21,-30,-71)
const str = '';
const pos = str.indexOf('@');

let ary = [ ];
if (pos >= 0) {
ary = [str.substr(0, pos), str.substr(pos + 1)];
}

console.log( pos, ary )

出力
-1, [ ]
584 : Name_Not - 2021/03/05(金) 12:25:45.96 ID:???.net (+25,+29,-5)
>>583
俺もこれだな
昔ながらではあるが
587 : Name_Not - 2021/03/05(金) 19:18:03.99 ID:???.net (-29,-29,-5)
str.split(/@(.*)/)
で十分じゃん
588 : Name_Not - 2021/03/05(金) 20:53:37.45 ID:???.net (+26,+28,-2)
>>587
だめじゃね
>>573見た?
589 : Name_Not - 2021/03/05(金) 20:56:18.83 ID:???.net (-29,-27,-7)
横にそれるがsliceじゃなくsubstr使う派って何を意図してるの?
591 : Name_Not - 2021/03/05(金) 23:01:12.31 ID:???.net (+31,+29,-23)
>>588
見てから言ってる
3つ目に空文字が入ったとして問題になることは希有でしょ
592 : Name_Not - 2021/03/06(土) 08:53:36.10 ID:???.net (+48,+29,-210)
webページの操作をjavascriptを使ってカスタマイズしたい
たとえば複数のページに分けられている文章を一度に読み込んで表示したりしたい

具体的にはローカルファイルでhtmlファイルを作ってその中でiframe内に他人が作った
web ページを表示させてその中身をjavasccripで操作したいんだけど、
こういうのはクロスオリジン要求ってことで基本的にだめだよね

でもそんなにマズいことか?と考えてみれば、ユーザが自分で知った上でやる分には危険はないはずだし、
「開発者用ツール」を使えば他人の作ったwebページの表示を変えることだって出来る
(htmlファイルののコピーはローカルにコピーされてるから)んだからそういうのをJavascriptで出来てもいいんじゃないの?と思う

できない?

selenium IDE とか言う、web 操作を自動化するツールがあるのは知ってる
そういうの使うしかない?
593 : Name_Not - 2021/03/06(土) 09:04:35.84 ID:???.net (+22,+29,-4)
じぶんでぶらうざつくればできるよ
594 : Name_Not - 2021/03/06(土) 09:16:10.62 ID:???.net (+43,+29,-53)
>>592
そんなにマズいことだからだよ

任意のサイトをフレームに読み込んでJavaScriptから操作させたとする
それは相手のページに自由にスクリプトを埋め込むことと同じ
つまりは歴としたCSRFだから、ハマチちゃん大増殖
595 : Name_Not - 2021/03/06(土) 09:28:48.42 ID:???.net (+37,+29,-17)
>>592
自分のページに
明らかに小さいフレーム埋め込むのしか想像してないっしょ
596 : Name_Not - 2021/03/06(土) 09:52:25.83 ID:???.net (+49,+30,-96)
>>594
それは偽サイトが作りやすくなるからダメってこと?
偽サイト作るなら別にそれなくても出来るよね
HTMLの中身全部コピーしてその偽サイトに置いちゃえばいいから
それやらないで、1枚HTMLの皮かぶせるだけで被害者を騙せるようになる?
ただ、そのHTMLの皮だってそれなりのURLのとこに置かないと騙せない気がするが
597 : Name_Not - 2021/03/06(土) 09:58:39.63 ID:???.net (+19,+11,-96)
>>595
うん
HTMLは一旦ローカルにコピーされてから表示されるわけで、同じオリジンのHTMLのコピーはjavascriptで好きに改変できるんだから、
iframe で表示するためにローカルにコピーしたHTMLだって好きに改変させてよ、と思う
開発者用ツールでは出来るんだし
598 : Name_Not - 2021/03/06(土) 10:00:37.92 ID:???.net (+33,+29,-33)
>>596
> ただ、そのHTMLの皮だってそれなりのURLのとこに置かないと騙せない気がするが

あ、メールの添付ファイルで送りつけちゃえばいいのか
600 : Name_Not - 2021/03/06(土) 10:20:30.29 ID:???.net (+45,+30,-159)
>>596
違う

もちろん自前で使うならば問題はない
しかし万が一そんなものが出回った場合に、製作者の責任とか難癖つけられて、とっても非難されるのは目に見えてる
だから、誰もそんなものは作ったとしても公開とかしない


具体的な攻撃シナリオを提示
ページに「視認できないサイズのiFrame」でアマゾンを開いておく
大体の人はログインしっぱなしだろう
そして iFrame の JavaScript を操作して、とにかく注文しまくる
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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