1 :
Name_Not_Found
2016/05/16(月) 19:45:57.23 ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは
>>950が
>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は
http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。
>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の話題は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
2 :
Name_Not_Found
2016/05/16(月) 19:46:37.91 ID:???
3 :
Name_Not_Found
2016/05/16(月) 19:47:21.40 ID:???
4 :
Name_Not_Found
2016/05/16(月) 19:48:08.86 ID:???
5 :
Name_Not_Found
2016/05/16(月) 19:48:54.81 ID:???
■諸注意
vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の話題はvol.116から禁止されました。
vol.115,116ではライブラリ禁止する発言が見られた直後にライブラリを許可する意図で次スレを立てる行為が確認されています。
本スレッドでライブラリ許可を求める発言が確認された場合は不要な争いを避ける為、スルーすることを推奨します。
ライブラリの話題はライブラリスレへ誘導し、誘導行為への反論はスルーしてください。
6 :
Name_Not_Found
2016/05/16(月) 22:37:01.02 ID:???
7 :
Name_Not_Found
2016/05/16(月) 22:43:54.04 ID:???
8 :
Name_Not_Found
2016/05/16(月) 22:54:55.32 ID:???
9 :
Name_Not_Found
2016/05/16(月) 23:18:30.09 ID:???
テンプレはまともだしぼちぼち誘導しながら使えばいいんじゃない
10 :
Name_Not_Found
2016/05/16(月) 23:22:25.97 ID:???
CSSで全部指定?きたねーコードだな
11 :
Name_Not_Found
2016/05/16(月) 23:31:04.14 ID:???
style属性全開のマークアップはさすがにちょっと...
12 :
Name_Not_Found
2016/05/16(月) 23:48:08.10 ID:???
誘導する事に依存はないな
13 :
じゃがりきん
2016/05/17(火) 00:16:00.15 ID:mHptFI5k
14 :
Name_Not_Found
2016/05/17(火) 08:53:29.94 ID:???
15 :
Name_Not_Found
2016/05/17(火) 11:03:42.97 ID:???
>>14 ソース読んだけど変更時のイベントすら投げてくれない事実上ゴミじゃん
ライブラリ名と表面上の華やかで悦に得るタイプ?
16 :
Name_Not_Found
2016/05/17(火) 11:10:39.96 ID:???
17 :
Name_Not_Found
2016/05/17(火) 13:19:05.74 ID:???
jsdo.it で公開している、じゃがりきんのスーパー鳥スロットも、
localStorage で保存している
>>13 漏れはかなり、ソースコードを分析したけど、
実行時に使われていない関数は、コメントアウトした方が良い
また、全体を無名関数で囲えば、グローバル名前空間を汚染しない
(function(){
})();
今はローカルPC内で、毎日楽しんでいる。
ボーナスゲームで10万枚以上、出たこともある
18 :
Name_Not_Found
2016/05/17(火) 14:52:13.01 ID:???
>>15 お前がそういうのならそうなんだろう
お前の中ではね。
19 :
Name_Not_Found
2016/05/17(火) 16:32:05.91 ID:???
ポリフィルねぇ……
localStorageも使えないようなブラウザは無視すべきだと思うけどね。
お節介かけるんなら記録しない。それくらいだろう。
そんなクズブラウザ使ってるクズのために皆が必要もないポリフィルをわざわざ読み込まんといけんのは絶対におかしい。
最悪でも必要か確認してから遅延ロードするようにしてくれ。
20 :
Name_Not_Found
2016/05/17(火) 19:20:46.54 ID:???
TagName使うなって指摘あったけど
ほぼひとつしか使われないcanvasタグで?
名前気にするわりにid無駄に増やすのもなんだかな
21 :
Name_Not_Found
2016/05/17(火) 19:38:43.70 ID:???
指摘っていうのはあくまでその人が生きてきた経験と
その人が想像する想定上でのことだからね
自分が相手とズレた生き方をしてるんなら聞く必要はないさ
22 :
Name_Not_Found
2016/05/17(火) 20:28:58.73 ID:???
>>19 その辺は将来的にcanvas要素が増えたときにも動くようにするか否かで変わるだろうね
idをつけるのは万が一にもcanvas要素を増やす場合に備えての事だろうから
23 :
Name_Not_Found
2016/05/17(火) 21:16:38.00 ID:???
将来的にcanvas要素が増えるかどうか不明ってことではないし、
不明だから付けてるってわけでもないからその論はおかしい。
一番は、気分の問題でしょ。それだけ。
24 :
Name_Not_Found
2016/05/17(火) 21:40:16.19 ID:???
25 :
Name_Not_Found
2016/05/17(火) 22:05:00.45 ID:???
矮小な論理性は気分と等価だろうよ
26 :
Name_Not_Found
2016/05/17(火) 22:15:52.64 ID:???
気分でidの有無を決める人がいるんだな
それでいいならコインでidを付けるか決めたら?
27 :
Name_Not_Found
2016/05/17(火) 23:12:03.72 ID:???
じゃがりきんのスーパー鳥スロットルでは、
canvas = document.getElementsByTagName('canvas')[0];
idなら、ハッシュに登録して、即取得できるけど、
TagNameなら、1つ見つけても、ファイルの最後まで探索するから、ムダが多い
でも、このアプリは、画像を使わず数値計算のみで、鳥の化け物を描いているのはすごい。
様々な画像エフェクトも使っている
もっと、コメントも書いてあればなあ
28 :
Name_Not_Found
2016/05/18(水) 00:05:38.03 ID:???
>>26 自分の不安な気が収まるかが重要なのにそれはおかしいんじゃない?
いや、きっと君は神頼みやゲン担ぎに依存するタイプなんだろな。
29 :
Name_Not_Found
2016/05/18(水) 00:32:27.04 ID:???
>>192 そりゃそうだが、随分無茶な処理を要求するんだな
Number 型全体が IEEE 754 の制約を受けるわけだが、制約外の数値を正しく検出するようにしろという事か
対処療法的には入力文字列を正しくパースして数値比較する
根本的には ECMAScript のビルトインオブジェクト全体を書き換える必要があるわけだが、そこまでやる必要あるのかね
30 :
Name_Not_Found
2016/05/18(水) 00:36:32.84 ID:???
>>28 不安を解消するのが大した論理もないただの気分次第という論理がおかしいと感じないならもう何もいわん
31 :
Name_Not_Found
2016/05/18(水) 01:06:07.80 ID:???
論理がないなんて言ってないだろ
プログラマの気分にはそれなりの論理性はある
そしてidを付けるどうたら今まで話されてきた”話”はその程度のレベルでしか無いということ
本当に厳密に質問者のコンテキストで必要かまで考えて言った言葉じゃない
ただ単に自分の中での正義に沿うことを理屈もなく言っただけ
32 :
Name_Not_Found
2016/05/18(水) 01:12:28.36 ID:???
>>31 お前の言葉で言うなら「矮小な論理性は気分と等価だろうよ」と返されるところだろうな
客観的に100%正しい事なんてそうそうないだろうに
33 :
Name_Not_Found
2016/05/18(水) 01:14:51.41 ID:???
うんにゃ
何も分かってない
自己満足の宗教は辞めろと言いたいんだよ
科学で語れ
データで語れ
わかったか
34 :
Name_Not_Found
2016/05/18(水) 06:54:17.73 ID:???
>>31の論もその程度の宗教だけどな
データや科学とやらがどこにあるのやら
35 :
Name_Not_Found
2016/05/18(水) 07:41:50.25 ID:???
自分はあくまで自分の意志として言っているので問題ない。
それが決まり事かのようには語っていない。
36 :
Name_Not_Found
2016/05/18(水) 09:05:10.80 ID:???
だから自己満足なんだろ?
37 :
Name_Not_Found
2016/05/18(水) 12:59:57.35 ID:???
誰も決め事はいってない
自己満足に自己満足を押しつけているようにしか見えん
38 :
Name_Not_Found
2016/05/18(水) 22:46:23.82 ID:???
39 :
Name_Not_Found
2016/05/19(木) 20:17:15.52 ID:???
40 :
Name_Not_Found
2016/05/22(日) 01:49:54.88 ID:???
jsdo.it で公開している、じゃがりきんのスーパー鳥スロットで、
画面をスクロールすると、canvas上のボタンが押せなくなる
canvasの位置が動くと、ボタンの座標も変わるの?
これは、どういう現象なの?
改善策も教えて
41 :
Name_Not_Found
2016/05/22(日) 02:04:24.37 ID:???
どうせバグだろ?
42 :
Name_Not_Found
2016/05/22(日) 02:05:00.12 ID:???
じゃがりきんのバグ
43 :
Name_Not_Found
2016/05/22(日) 03:56:01.04 ID:???
44 :
Name_Not_Found
2016/05/22(日) 11:28:00.62 ID:???
45 :
Name_Not_Found
2016/05/22(日) 12:08:44.22 ID:???
>>44 Babelは.babelrcを使って機能ごとにトランスパイルするかどうかを
選択できるようになってる。
その人がほんとうに必要だったものは、
ブラウザのバージョンとトランスパイルしなければいけない
機能の対応表だろう。
ブラウザバージョンを指定して、.babelrcを
吐き出すツールがあれば、それで十分ではないか?
46 :
40
2016/05/22(日) 16:59:05.44 ID:???
canvas 内にボタンを描いているということは、
canvas の左上の座標からの相対座標だろ?
画面をスクロールして、キャンバスが動いたら、
ボタンも同じだけ動くから、ボタンを押せるはずなんだが、
押せなくなるのはどういうこと?
IE11, Edge です
47 :
Name_Not_Found
2016/05/23(月) 18:19:29.82 ID:???
なんでそんな面倒なことをしてるんだ?
HitRegionを使えばいいじゃない。
48 :
じゃがりきん
2016/05/25(水) 04:54:28.82 ID:IVv+DLj9
すいません じゃがりきん とついていないのは俺ではないです><
>>17 プレイありがとうございます><
>>46 そのとおりです
スクロール対応も場合によってしてるけど 例↓
http://jsdo.it/jagarikin/COQl エラーが不安だから縦が短い時は使ってないぜ><
>>47 俺の環境だと対応してなかったぜ><
ちなみに俺もlocalStorageはウンコだと思ってるぜ><
でもここで技術者っぽい人にlocalStorage使えと言われたから使ってるぜ〜
もともとはクッキー使ってたぜ
49 :
Name_Not_Found
2016/05/25(水) 07:09:43.88 ID:???
Cookieは論外だがLSなら適当なゲームには相応しい。
50 :
Name_Not_Found
2016/05/25(水) 09:03:47.86 ID:???
今はもうIndexedDBな、LocalStorageは非推奨
51 :
Name_Not_Found
2016/05/25(水) 18:46:21.32 ID:???
IDBもPromiseベースになったから使いやすくなったね
52 :
Name_Not_Found
2016/05/25(水) 20:49:35.97 ID:???
53 :
Name_Not_Found
2016/05/25(水) 20:52:53.13 ID:???
>>51 jQueryもPromiseと互換性を持つようになるらしいね。
54 :
Name_Not_Found
2016/05/25(水) 21:25:08.48 ID:???
Promiseと互換性を持つ
ではなくて、Defferdを辞めてPromiseのポリフィル組み込んで、
自身も非同期なメソッドでPromiseを返すようにすべきでは?
そうじゃないと結局jQueryの世界でしか使われないのだから
挙動を変えても殆ど何も今までと変わらないよね
大したことじゃない
55 :
Name_Not_Found
2016/05/25(水) 21:36:18.77 ID:???
>>54 意味分かってないのかな?
jQueryのDefferdがPromiseと同じ機能を持ったってことんだんだけど。
言い換えるとPromiseを継承したクラスになった。
56 :
Name_Not_Found
2016/05/25(水) 21:40:37.97 ID:???
もう少し言い換えてみるかな?
jQueryがPromiseのポリフィルを内蔵して、
さらに古いコードとの互換性を保つように
以前のインターフェースも実装した標準準拠のDefferdになった。
57 :
Name_Not_Found
2016/05/25(水) 21:44:53.55 ID:???
おいおい……おいおい!
ES2015勧告後の世界において、気軽にクラスだの継承だの言ってくれるな!
それ以上いい加減なこと言うと怒るぞ
なーにが継承したクラスだ!巫山戯んな!
ソース読んでんのか?WeakMapも使ってなけりゃプロトタイプも使わないベタ付けメソッドオブジェクト
拡張性皆無の紛い物じゃねえか!
58 :
Name_Not_Found
2016/05/25(水) 22:45:27.00 ID:???
Promiseのspecを満たしているから本物のPromiseだよ
59 :
Name_Not_Found
2016/05/25(水) 22:56:37.86 ID:???
否。
以前も"プロミス"のスペックは満たしていたが、今度はA+に沿っただけ。
ESもA+に沿っているが沿い方がぜんぜん違う。
jQueryはES Promiseに沿ったわけではなく仕様も違う。
だからA+に沿ってないものがA+に沿ったという程度のことでしかない。
60 :
Name_Not_Found
2016/05/25(水) 23:22:12.05 ID:???
61 :
Name_Not_Found
2016/05/25(水) 23:29:39.87 ID:???
そもそもES PromiseはA+のことだよ
名前が違うだけで、機能に違いはないから。
62 :
Name_Not_Found
2016/05/26(木) 03:17:48.61 ID:???
ライブラリはライブラリスレでどうぞ
63 :
Name_Not_Found
2016/05/26(木) 03:18:41.93 ID:???
>>52 var MYAPP = MYAPP || { 〜 }
初回の初期化のために、そういう書き方をしているのだろう。
初回は、MYAPPが偽だから、右辺を返す
2回目以降は、MYAPPはオブジェクトで真になるから、そのままMYAPPを返す
「論理 OR」で検索!
64 :
Name_Not_Found
2016/05/26(木) 11:00:20.02 ID:???
>>60,61
ぜんぜん違う。
Promise.raceやallもないし、Promise.prototypeもない。
当然サブクラスどころかメソッド拡張もままならない。
逆にjQueryの方にだけ生えてる機能もある。
互換性を持ったってのは、あくまでA+に沿ってA+の抽象的なレイヤーの範囲でESと互換性を持ったってだけ。
つまりぶっちゃけると、thenメソッドを使う時の挙動が一致するようになった程度。
しかしメソッドなどの具体的な実装構造自体が全然違うので、ちょっと高度なことや発展的なことをしようとすると破綻する。
ポリフィルなんかではない、あくまでjQueryのための独自Promiseであることは変わらない。
どうせ古い環境は蹴るのだから、WeakMapとprototypeを使って、きちんとstateも隠蔽したポリフィルを実装すべきだった。
コード量は増えるがメモリ効率やパフォーマンスはそちらの方が基本良い。
それにしてもコードを読んで自分の頭で考えることもせず、書いてあることを
勝手に自分の好きなコンテキストで解釈して振りかざすとか、
もはやプログラマ失格!!
恥ずかしいと思わないのかね。
65 :
Name_Not_Found
2016/05/26(木) 16:00:50.96 ID:???
>>63 つまりC#のNULL合体演算子的な物のjs版か
ありがとう
66 :
Name_Not_Found
2016/05/26(木) 20:32:42.52 ID:???
jQueryの話でぷろぐらむがどうとか言われましても
67 :
Name_Not_Found
2016/05/26(木) 20:59:06.44 ID:???
68 :
Name_Not_Found
2016/05/26(木) 21:05:57.56 ID:???
Promises/A+ は ES2015 Promises が現れるまでの仕様で標準仕様ではなかったはず
jQuery.Deferred と多くの部分で違うだろうけど、例の jQuery 信者は仕様に疎いので熱く語っても堪えないだろうね
テンプレ通り、ライブラリの話題は避けるのが無難
触らぬ神に何とやら
69 :
Name_Not_Found
2016/05/26(木) 21:25:18.71 ID:???
いや、だからjQuery.DeferredはPromises/A+準拠だって言ってるじゃん
70 :
Name_Not_Found
2016/05/26(木) 22:05:13.75 ID:???
もうjWueryの話はもういいよ
71 :
Name_Not_Found
2016/05/27(金) 07:56:39.82 ID:???
72 :
Name_Not_Found
2016/05/27(金) 09:46:01.20 ID:???
自己満足で解決
73 :
Name_Not_Found
2016/05/27(金) 14:05:57.33 ID:???
時々話題に出てたA+って標準仕様がまだないデファクトスタンダードな仕様の事だったのね
74 :
Name_Not_Found
2016/05/27(金) 23:45:35.83 ID:???
75 :
Name_Not_Found
2016/05/29(日) 16:46:12.89 ID:???
最近は for で len = a.length ってやると逆に遅くなるって聞いたんですけどほんとですか?
76 :
Name_Not_Found
2016/05/29(日) 17:57:04.93 ID:???
77 :
NAS6 ◆n3AmnVhjwc
2016/05/31(火) 23:49:54.88 ID:rOptYAWi
78 :
Name_Not_Found
2016/05/31(火) 23:59:41.90 ID:???
宣伝うぜーよ
79 :
Name_Not_Found
2016/06/01(水) 00:03:30.01 ID:???
80 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 00:16:13.94 ID:39Z1elK9
ライブラリを作る前に探したけど
回転行列←→回転ベクトル、回転行列←→四元数
この相互変換を扱ってるのは見当たらなかったよ
81 :
Name_Not_Found
2016/06/01(水) 00:26:12.11 ID:???
82 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 00:52:20.41 ID:39Z1elK9
回転行列←→回転ベクトル、回転行列←→四元数、回転行列→オイラー角取得
とかライブラリに入れて作りました
83 :
Name_Not_Found
2016/06/01(水) 00:54:02.61 ID:???
ゴミだな。イラネ
84 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 00:56:37.40 ID:39Z1elK9
x3domは回転ベクトルで保持しているからそれに変換するのがないと困る
85 :
Name_Not_Found
2016/06/01(水) 00:57:49.55 ID:???
ゴミはいらね
86 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 01:02:19.23 ID:39Z1elK9
行列から回転ベクトルに変換するライブラリって全然ないです
DirectXのライブラリですらその関数がない
Unityも関数がない
87 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 01:04:16.14 ID:39Z1elK9
行列から回転ベクトルに変換する必要がなかったらね
88 :
Name_Not_Found
2016/06/01(水) 01:06:54.33 ID:???
でもそれはゴミですね
89 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 01:07:21.67 ID:39Z1elK9
でもweb3D系は回転ベクトルで回転情報を保持しているんだな
90 :
Name_Not_Found
2016/06/01(水) 01:07:58.51 ID:???
誰も使わねーってwww
91 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 01:08:30.48 ID:39Z1elK9
92 :
Name_Not_Found
2016/06/01(水) 01:10:43.31 ID:???
見る価値が無いから
93 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 03:18:02.73 ID:39Z1elK9
//vector←→matrix←→quaternion trans test
function TransTest(add0, add1, eps){
var vm;
var m;
var i;
var j;
for(i = -Math.PI * 2; i <= Math.PI * 2; i += add0) {
for(j = 0; j <= 1; j += add1) {
vm = new N6LVector([i, 1, j, 0],true).NormalVec().Matrix();
m = new N6LMatrix(4).UnitMat();
m = m.Mul(vm.Quaternion().Matrix().Vector().Matrix());
if(!m.EpsEqual(vm, eps)){
window.alert("err!");
i = i;
}
//…z,y&zもnew N6LVector()にjを入れて同様にテスト
}
}
}
TransTest(0.01, 0.01, 1e-6);
はエラーなく通りました
変換は絶対間違ってないです
94 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 03:19:40.79 ID:39Z1elK9
スペースエラーごめん
//vector←→matrix←→quaternion trans test
function TransTest(add0, add1, eps){
var vm;
var m;
var i;
var j;
for(i = -Math.PI * 2; i <= Math.PI * 2; i += add0) {
for(j = 0; j <= 1; j += add1) {
vm = new N6LVector([i, 1, j, 0],true).NormalVec().Matrix();
m = new N6LMatrix(4).UnitMat();
m = m.Mul(vm.Quaternion().Matrix().Vector().Matrix());
if(!m.EpsEqual(vm, eps)){
window.alert("err!");
i = i;
}
//…z,y&zもnew N6LVector()にjを入れて同様にテスト
}
}
}
TransTest(0.01, 0.01, 1e-6);
はエラーなく通りました
変換は絶対間違ってないです
95 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 03:31:38.69 ID:39Z1elK9
コピペミスごめん
//vector←→matrix←→quaternion trans test
function TransTest(add0, add1, eps){
var vm;
var m;
var i;
var j;
for(i = -Math.PI * 2; i <= Math.PI * 2; i += add0) {
for(j = 0; j <= 1; j += add1) {
vm = new N6LVector([i, 1, j, 0], true).NormalVec(undefined, true).Matrix();
m = new N6LMatrix(4).UnitMat();
m = m.Mul(vm.Quaternion().Matrix().Vector().Matrix());
if(!m.EpsEqual(vm, eps)){
window.alert("err!");
i = i;
}
//…z,y&zもnew N6LVector()にjを入れて同様にテスト
}
}
}
TransTest(0.01, 0.01, 1e-6);
はエラーなく通りました
変換は絶対間違ってないです
96 :
NAS6 ◆n3AmnVhjwc
2016/06/01(水) 03:36:09.18 ID:39Z1elK9
全検索で検証テストした時、ちゃんと合ってて、何が不満?
97 :
Name_Not_Found
2016/06/01(水) 09:33:28.21 ID:???
EpsEqual とかいう関数名の時点でJavaScriptの常識分かってないし、
そういうやつのコードの品質は低いってわかってるし、だから見る価値がない
98 :
Name_Not_Found
2016/06/02(木) 12:56:18.28 ID:???
ID:39Z1elK9 のものはリファレンスが説明文1行な時点で使う気になれない。
それを使うぐらいなら
http://www.x3dom.org/ を使うよ。
自分一人で使う分には困らないんだろうけど、何も知らない人が使う事への配慮が足りない。
相互変換機能が欲しいだけなら既存ライブラリを拡張してくれた方が嬉しい。
99 :
Name_Not_Found
2016/06/04(土) 18:38:01.03 ID:???
NAS6 ◆n3AmnVhjwc はどこへ?
100 :
Name_Not_Found
2016/06/09(木) 00:37:35.37 ID:???
101 :
Name_Not_Found
2016/06/09(木) 19:16:26.61 ID:UfH8RX6k
あるフォームの中のnameまたはIDを検索するにはどうしたらいいの?
hogeform.getElementByID("piyo");
はエラーになった
102 :
Name_Not_Found
2016/06/09(木) 19:36:23.60 ID:???
103 :
Name_Not_Found
2016/06/09(木) 23:01:14.52 ID:???
あるいはform.querySelector('#piyo')
getElementByIdが使えるのはdocumentだけな
104 :
Name_Not_Found
2016/06/09(木) 23:12:18.04 ID:???
105 :
Name_Not_Found
2016/06/09(木) 23:26:53.40 ID:???
106 :
Name_Not_Found
2016/06/09(木) 23:39:12.22 ID:???
サポートの有無は何も関係ないでしょ。
クライアントも開発者もサポートを仰ぐわけじゃないんだから。
サポートがないから何か責任持てないということにもならない。
何か言うとしたら、機能アップデートの有無でしょ。
よってIEは11だろうが5.5だろうが一緒。
IEかEdgeかが大事なのであって、IE何かはどうでもいい。
107 :
Name_Not_Found
2016/06/10(金) 08:17:09.22 ID:???
サポートがなかったらセキュリティ上の問題に責任は持てないのだから説明責任は発生する
質問者が知っていたならそれでよし程度の指摘に何を熱くなってるんだか
そんなことより2行目以降の問題を気にしろよ
108 :
Name_Not_Found
2016/06/10(金) 09:04:36.95 ID:???
サポート切れのものは、無保証
まず、正常には動かない
109 :
Name_Not_Found
2016/06/10(金) 14:25:18.05 ID:???
Google画像検索のような、ページの下にどんどんページが追加されていく、あのシステムの名前を教えてください
110 :
Name_Not_Found
2016/06/10(金) 14:31:57.79 ID:???
サポートってw
実装だよ
111 :
Name_Not_Found
2016/06/10(金) 18:37:02.29 ID:???
>>108 IEが正常に動いたことなんてあっただろうか?
IE11もずっとMapのバグ直さないし、
そんなんを平気で使ってたり対象に指定する奴らにはMSのサポートなんて関係ないだろう
112 :
Name_Not_Found
2016/06/10(金) 18:55:40.27 ID:???
113 :
Name_Not_Found
2016/06/10(金) 23:07:44.14 ID:???
114 :
Name_Not_Found
2016/06/11(土) 00:13:16.81 ID:???
115 :
Name_Not_Found
2016/06/11(土) 16:28:16.90 ID:???
>>112 真実を見て見ぬふりをしてる奴が論理を語るとかちゃんちゃらおかしい
116 :
Name_Not_Found
2016/06/11(土) 18:28:50.23 ID:???
117 :
Name_Not_Found
2016/06/12(日) 05:04:42.20 ID:???
>>116 曇ってても見ない奴より遥かにマシ
俺は問題について述べているのみ、君は人の意見に愚痴を言うのみ。
どちらがより意義があるかは言うまでもない。
118 :
Name_Not_Found
2016/06/13(月) 12:30:47.99 ID:???
>>103 documentだけだったのかありがとう
119 :
Name_Not_Found
2016/06/13(月) 12:41:08.72 ID:???
>>111 悪いが、俺も論理のすり替えだと思うぞ
サポートが切れるということはセキュリティホールを潰すfixを今後永続的に行わないという事だ
未知のセキュリティホールが現れても誰も修正しないし、どんな不具合が起きるか分からない
IEの実装が甘いのは実装してないか、バグ/仕様のどちらか
IE9, IE11 のセキュリティfixは継続して行われるので、実装状況と実装バグにだけ注意を払えばよい
セキュリティ上の問題と実装が追いついてない問題を同一視すべきではない
120 :
Name_Not_Found
2016/06/14(火) 01:11:45.85 ID:???
互換性っていうのは、動かないものは動かないままであることも
条件の一つだから、勝手に直したら互換性が取れなくなるんだよ。
121 :
Name_Not_Found
2016/06/14(火) 01:12:06.98 ID:???
訂正
互換性っていうのは、動かないものは動かないままであることも
条件の一つだから、勝手に動くようにしたら互換性が取れなくなるんだよ。
122 :
Name_Not_Found
2016/06/14(火) 10:06:24.17 ID:???
その文章に限っては筋が通ってるけど、議論のすり替えだよ。
でも現実モダンブラウザは自動更新されて、使用もLS製のが多くなった現在、
それに追従しないというのはWeb世界での互換性を保ててないといえるだろう。
デファクトや独自実装がまかり通っていて、各ブラウザ内で世界がほぼ完結していた時とは違うんだよ。
もちろんそのブラウザは昔に作られたものだから今に従う必要はない。
しかし、だからと言って今様々な問題においてそれが免罪符になって許容されるかというとけしてそうはならない。
100年前の人の考えを非難することの愚かさはあっても、その人が現代に来たのなら、現代の取り決めに沿って貰うのは当然。
123 :
Name_Not_Found
2016/06/14(火) 10:39:08.70 ID:???
0か1かではないがブラウザやバージョンで判定する時代から
持ってる機能で判定する時代になりつつあるのは確か
124 :
Name_Not_Found
2016/06/14(火) 23:19:58.87 ID:???
とっくにその時代になったと思うんだが?
125 :
Name_Not_Found
2016/06/15(水) 17:29:15.63 ID:???
Chromeで初めてClassっての書いてみたが本来メソッドや継承ってこんなにシンプルに書けるものなんだな
これを無理にprototypeとかでやってるから複雑になってるのか・・・オブジェクト指向学ぶのには向かないわけだ
126 :
Name_Not_Found
2016/06/15(水) 18:30:13.85 ID:???
うーん、なんだかね。
確かにClass構文を使うとシンプルに書けるよ、でも構造は変わっていない。
本当のことを言うと、プロトタイプベースで書けば構造的にはこれ以上シンプルなことないんだけどね。
JSが複雑ってのはクラスベースにちょいと似せた独自のクラスシステムを入れてるって言うことは確かで、
だったら最初からClass構文入れとけよってのも正しいけど、
一方でオブジェクト指向には別にクラスは必要なくオブジェクトさえあればいいのだから、
折角のプロトタイプベースを開放しとけよって方が自分的には強いかな。
両方が開放されたES2015以降クラスシステムのベストプラクティスも変わっていくだろうね。
127 :
Name_Not_Found
2016/06/15(水) 23:14:34.68 ID:???
>>126 可読性が高いってどういうことか考えたことある?
機能は同じだけど、読みやすいコードと読みにくいコードってのがある。
読みやすいコードっていうのが可読性が高いコード。
つまりそれが君が言ってる「確かにClass構文を使うとシンプルに書けるよ、
でも構造は変わっていない。」この部分の話なんだよ。
言い換えると構造は同じでも可読性を高くすることが可能ということだよ。
じゃあどんなコードが可読性が高いか? それは人間が考えている意図を
なるべくそのままコードとして表現することなんだよ。
人間がそれをクラス構文として考えているならば、クラス構文で表現する方がいい。
自分の考えをいかにプログラミング言語に翻訳するか?というのは
目的にするべきことじゃなくて、最初から
自分の考えをそのまま書けるプログラミング言語を選びましょうという話。
自分の考えをプロトタイプベースとして表現し直すことができるんじゃなくて
クラスで考えているならクラスベースで書く方が可読性高いよねっていうだけの話だよ。
128 :
Name_Not_Found
2016/06/15(水) 23:28:48.41 ID:???
>>122 > もちろんそのブラウザは昔に作られたものだから今に従う必要はない。
その理屈だと昔に作られたHTMLだって今に従う必要はないわけだよ。
129 :
Name_Not_Found
2016/06/16(木) 07:51:51.32 ID:???
>127
プロトタイプベースとクラスは相容れないものではない。
JSのClass構文も一つの形。
逆に、プロトタイプベースでも抽象化の結果としてのクラスは必要。
つまり、必要だから使う。
クラスベースはどうにでも使わなければならない。
この違いだよ。
自分の考えを〜というのなら当然柔軟なプロトタイプベースの方がいい。
クラスベースの方がいかに翻訳するか?という問題に当たる。
130 :
Name_Not_Found
2016/06/16(木) 09:29:42.52 ID:???
>>129 > 自分の考えを〜というのなら
どんな考え?
例えばマリオがいてルイージがいて
クリボーがいてみたいな世界を考えると
これらがクラスで表現できるって考えるでしょ?
131 :
Name_Not_Found
2016/06/16(木) 15:14:57.74 ID:???
マリオとルイージとクリボーはクラスで表現できるかもしれないが、
他の全てもクラスを用いたり適切な検証関係を構築しないといけないという縛りは重すぎる場合がある。
プロトタイプベースでクラスの縛りがないのなら適当に力を抜ける。
132 :
Name_Not_Found
2016/06/16(木) 15:35:19.06 ID:???
>>130 初代2Dマリオみたいに単調ならクラスなんてただややこしくするだけ
敵はワンパターンで種類と位置とターン数くらいしか必要な情報はない
マリオも、体力あって特殊なクッパもユニークなもの
各オブジェクトがメソッドを持っててそれに委譲する価値なんて1つもない
ただ上記の構造体の配列を一元管理してキーフレーム毎に処理をすればいいだけ
これをまずクラスを設計して……となるのは完全に毒されてる
133 :
Name_Not_Found
2016/06/16(木) 21:53:58.45 ID:???
>>132 じゃあ3Dで考えようか?
なんで楽な方に変更するのかな?
134 :
Name_Not_Found
2016/06/16(木) 21:55:06.45 ID:???
>>131 > プロトタイプベースでクラスの縛りがないのなら適当に力を抜ける。
プロトタイプベースの話をしてるのに
プロトタイプを使わないって話?
それプロトタイプベースだからという理由ではないよね。
135 :
Name_Not_Found
2016/06/17(金) 00:12:17.72 ID:???
>>134 残念だけれど君はまだこの話をする上での知識と経験が足りないようだね
136 :
Name_Not_Found
2016/06/17(金) 00:22:09.35 ID:???
何も説明できないレベルの人間は及びではない
137 :
Name_Not_Found
2016/06/17(金) 00:35:10.59 ID:???
説明はこれまでいろんな人が散々してくれてるのに理解する気がないだけだろ……
>>133とかもうね、今の話の本質をちっとも理解してない。ただただ呆れ。
138 :
Name_Not_Found
2016/06/17(金) 00:37:23.88 ID:???
これまで色んな人が? どれの話?
引用して見せてよwww
139 :
Name_Not_Found
2016/06/17(金) 00:40:16.71 ID:???
>>138 それ書き込んでる暇があったら、ググれよカス。
お前は赤ちゃんか?
140 :
Name_Not_Found
2016/06/17(金) 00:46:53.14 ID:???
ほらやっぱり引用できなかったwww
141 :
Name_Not_Found
2016/06/17(金) 01:04:57.81 ID:???
ごめんね。俺はお前のお父ちゃんでも先生でもないから。
お前のために何が一番いいのか選んであげられないし、あげる気もない。
俺から贈れる言葉は、自分のために自分で調べて知識を付けられる人になろうねってことだけ。
142 :
Name_Not_Found
2016/06/17(金) 01:08:50.99 ID:???
まず両者会話が成立してないことに気づけ
そしてスレチ
143 :
Name_Not_Found
2016/06/17(金) 02:26:36.16 ID:???
自作自演の狂人だろ
144 :
Name_Not_Found
2016/06/17(金) 08:22:18.66 ID:???
145 :
Name_Not_Found
2016/06/17(金) 09:29:58.34 ID:???
最近のBOTは優秀なのが多いけどまだ反語は分からないみたいだね
146 :
Name_Not_Found
2016/06/17(金) 23:38:42.08 ID:???
>>145 ちょっとまて、反語を使ってるほうが
BOTなんだぞ?まさか気づかなかったのか?
147 :
Name_Not_Found
2016/06/20(月) 11:21:13.76 ID:M7oiHCV8
ようするに100行ほどのパーティクルでベタ書きしてないやつは論外
148 :
Name_Not_Found
2016/07/12(火) 20:29:36.23 ID:???
149 :
148
2016/07/12(火) 20:31:16.43 ID:???
すまん、投稿先を間違えたので
>>148はスルーしてほしい
150 :
Name_Not_Found
2016/07/14(木) 07:41:00.78 ID:9OP3Jgr1
職場のイントラ環境で資料を閲覧した職員のログが残るようにしたいのです
(インターネットには繋がっていない閉鎖環境)
html上にボタンを作って、そのボタンを押すとリンク先にpdfファイルが開くと同時に
ユーザーのIPアドレスと時刻をテキストファイルに記録されるようにしたい
自力ではボタンを作るってリンク先を開くまでが限界ですた
・あいうえおテスト <input type="button" value="資料1" onClick="window.open('資料1.pdf')">
<input type="button" value="資料2" onClick="window.open('資料2.pdf')">
151 :
Name_Not_Found
2016/07/14(木) 08:04:04.20 ID:???
>>150 サーバサイドのソフトウェア構成や設定次第では既に実質そうなってるかもなぁ。
152 :
Name_Not_Found
2016/07/14(木) 13:46:47.89 ID:???
社内の全体的な構成はそうなってるとして、自部門に付与された領域の中でやりたいのです
153 :
Name_Not_Found
2016/07/14(木) 21:38:59.13 ID:???
154 :
Name_Not_Found
2016/07/15(金) 00:04:16.58 ID:???
>>150-152 自分のPCに書き込みたいのなら、 LocalStorage
サーバーに書き込みたいのなら、Node.js
>>153 そんな拡張機能を、他人が作ったサイトに適応させるのは、無理だろ。
他人が作ったソースコードを、解読できるわけないだろ
まず、自分でプログラミングすることから始める。
他人が作ったソースコードを解読するのは、自分で作るよりも、はるかに難しい
155 :
Name_Not_Found
2016/07/15(金) 09:25:57.44 ID:???
ただ単に有効になるサイトを追加するということなら
マニフェストファイルに追加して読みこめばいいだけじゃん。
156 :
Name_Not_Found
2016/07/15(金) 09:28:39.29 ID:???
マニフェストファイルってなんですか?
157 :
Name_Not_Found
2016/07/15(金) 09:35:03.67 ID:???
もう仕事始まるからあとはグーグル大先生にご指導願え。
158 :
Name_Not_Found
2016/07/15(金) 13:39:42.64 ID:???
JS初心者です
FireFoxのGreasemonkeyで単純なダウンローダーを作ってみました
ファイル名を希望の名前でダウンロードさせたいので、aタグにdownload属性を付けて挿入しても相変わらずリンクurl名がデフォルト名になったままです
名前をつけて保存時の初期名を希望のものにするにはどうすれば良いのでしょうか?
具体的にはサイト上にある12345.jpgを名前を付けて保存時の初期名に「あいうえお.jpg」とさせたいのですが
以下とコードだと相変わらず保存時の初期名が12345.jpgのままになってしまいます
var link = document.createElement("a");
link.download = "あいうえお.jpg";
link.href = "http:file/12345.jpg";
link.click();
159 :
Name_Not_Found
2016/07/15(金) 13:59:07.68 ID:???
↑
説明足らずでしたが、上記コードを含むスクリプトをhtmlに挿入できてることは確認出来ています
160 :
Name_Not_Found
2016/07/15(金) 14:21:55.21 ID:9029UgCO
html上に配置されたボタンを押すと、それぞれ別々に複数のウィンドウが開くようにできないでしょうか
ボタン実験
<input type="button" value="ファイルを開く" onClick="window.open('ABC.txt' & 'あいう.xls' & '亜以宇.pdf')"> ←イメージ(実際にはこれだと動かない)
161 :
Name_Not_Found
2016/07/15(金) 17:17:57.48 ID:???
>>158 普通はそれで問題ない。
ただしダウンロードされるファイル名の決まり方には仕様があって、
確かサーバーが特定の方法で明示的に指定してるとdownload属性よりもそっちが優先されるはず。
対処としてはfetchでBlobをDLして、URL.createObjectURL(blob)で取得したURLを使ってやる。
162 :
Name_Not_Found
2016/07/15(金) 23:09:37.80 ID:???
>>160 <input type="button" value="ファイルを開く" onClick="OnButtonClick();">
function OnButtonClick() {
window1を開く
window2を開く
};
onClick に、ボタンが押されたときに、呼び出してもらいたい関数名を書いておいて、
別の所に、その関数を定義して、実行したい処理を書けばいい
「javascript input onclick」で検索!
163 :
Name_Not_Found
2016/07/15(金) 23:19:27.48 ID:???
HTMLのonclick属性とか、いまどき使わないから
164 :
Name_Not_Found
2016/07/16(土) 00:23:07.47 ID:???
>>154 実は、対応しているサイトとさせたいサイトで走っているサーバーはほぼ同じもので、
拡張機能側が認識さえしてくれれば使えるかと思ったまでです
>>155 .appcacheがないんですがそれではないのですか?
165 :
Name_Not_Found
2016/07/16(土) 01:25:22.53 ID:???
166 :
160
2016/07/16(土) 22:24:32.15 ID:???
>>162 ありがとうございます
早速ググって試してみます
167 :
160
2016/07/16(土) 22:27:29.91 ID:???
「javascript input onclick 複数の処理」これでググったら色々でてきました
使えるコードが色々ありそうです
168 :
Name_Not_Found
2016/07/16(土) 23:01:26.71 ID:???
>>161 fetchで欲しいファイルをblobにするところでかなり苦戦しましたが、何とか希望の動作になりました。
どうもありがとうございました!
169 :
Name_Not_Found
2016/07/18(月) 00:41:39.34 ID:???
>>163 ま〜た三下jQueryが文句いってるのかよ
170 :
Name_Not_Found
2016/07/18(月) 00:55:38.37 ID:???
お?w また喧嘩売ってるw
171 :
Name_Not_Found
2016/07/18(月) 04:45:48.67 ID:???
まあでもon〜に結局全部埋め込めないくらいの量記述するなら、
わかり易い名前のカスタムエレメントでも定義したほうがスマートだな。
手間を省くんならclassだが、ちょっと分かりやすさに欠ける。
172 :
Name_Not_Found
2016/07/18(月) 09:49:06.44 ID:???
> わかり易い名前のカスタムエレメントでも定義したほうがスマートだな。
どうやるの?
動くサンプルがほしい
173 :
Name_Not_Found
2016/07/18(月) 14:36:20.04 ID:???
174 :
Name_Not_Found
2016/07/18(月) 14:51:47.50 ID:???
175 :
Name_Not_Found
2016/07/18(月) 14:58:47.89 ID:???
このurlはGoogle先生から激しく嫌われるぞ
拡張子が香ばしいことになっている
176 :
Name_Not_Found
2016/07/19(火) 12:48:51.70 ID:???
chromeのデバッグコンソール使っていて、ちょっとしたコードの確認をしたいとき
コード打ち込み中に下の行へ移ろうと[↓キー]押すと
コードがクリアされてしまうのをどうにかしたいたすけて
(最下から2行目だと思っていたら折り返しで実は最下行だった、みたいなことがよく起こる)
最下や最上の行に[shift+エンターキー]仕込むのはめんどい
177 :
Name_Not_Found
2016/07/19(火) 14:45:31.49 ID:???
予め何行か空行を末尾につけとけ
178 :
Name_Not_Found
2016/07/19(火) 19:58:17.17 ID:???
>>177 それは今やってる(コードの前後に空行を入れる)んだが例えば、やっぱり前実行したコードに戻したいってときに
空行分を[↑キー]を連打しないといけない・・
なんか前のバージョンだとアンドゥリドゥ機能?オフにできたような気がするんだけどなぁ・・
ほんとはシフトエンターもオフにしたいけど、間違って普通のエンターで実行しても
コードの記録は残るからこっちはまだマシ
アンドゥリドゥは間違ったが最後元に戻らない・・
179 :
Name_Not_Found
2016/07/19(火) 21:10:10.73 ID:???
↑連打なんてしなくとも
Ctrl+Aで全選択して消すなり切り取るなりして↑押せばいいじゃない。
PageUpとかでもいいね。
180 :
Name_Not_Found
2016/07/19(火) 21:37:47.68 ID:???
JavaScriptでは複数インスタンスを一度に作る方法はないのですか
例えばC++だと
A *a = new A[10];
JavaScriptだとループでまわすしかないのでしょうか
for (var i = 0; i < 10; i++) { a[i] = new A(); }
181 :
Name_Not_Found
2016/07/19(火) 21:43:42.76 ID:???
182 :
Name_Not_Found
2016/07/19(火) 21:53:35.73 ID:???
>>181 変数宣言を並べて書いたときに、
var a = [];
for (var i = 0; i < 10; i++) { a[i] = new A(); }
var b = 0;
var c = 0;
ループ文で2段階だと可読性悪くないですか?
C++みたいな構文あればいいなあと
183 :
Name_Not_Found
2016/07/19(火) 22:14:17.91 ID:???
var a = [...Array(10)].map(_ => new A)
184 :
Name_Not_Found
2016/07/19(火) 22:27:28.00 ID:???
>>183 おおすごい!
でも若干hackyですね...
185 :
Name_Not_Found
2016/07/19(火) 22:29:01.08 ID:???
あぁそうか、こういうときに使えばいいんだ
186 :
Name_Not_Found
2016/07/19(火) 22:41:15.84 ID:MI6etxrd
187 :
Name_Not_Found
2016/07/19(火) 22:49:54.01 ID:???
>>179 pageupキー探したけどついてなかった・・
全選択でやるわd
188 :
Name_Not_Found
2016/07/20(水) 00:01:23.96 ID:???
>>180,182,184
Array(10).fill(new A);
189 :
Name_Not_Found
2016/07/20(水) 00:06:42.95 ID:???
非同期のループ処理について質問です
リンク先のデータをゲットし終わってから次の処理に移りたいです
考えた末に
var i=0;
var arr=[];
var a=['a','i','u','e'];
function loop() {
if (!a[i]) { console.log(arr);return; }
var url = '
https://jquery.com/?s='+a[i];
$.ajax({
url:url,
success:function(data) {
arr.push($(data).find('.page-title').text());
loop();
i++;
},
error:function(){console.log('error');i++}
});
}
loop();
としましたが
["Search Results for: a", "Search Results for: a", "Search Results for: i", "Search Results for: u", "Search Results for: e"]
なぜか"Search Results for: a"が2つ入ってきますたすけてください
190 :
Name_Not_Found
2016/07/20(水) 00:18:44.96 ID:???
191 :
Name_Not_Found
2016/07/20(水) 00:41:54.55 ID:???
>>190 GC51で期待通りに動作したが、Array#fillのサポート環境で実行してるか?
コンソールにエラーはないか?
function A () {}
Array(10).fill(new A);
192 :
Name_Not_Found
2016/07/20(水) 00:51:37.63 ID:???
>>191 変数に受け取ると全部同じ参照を指すんですが
193 :
189
2016/07/20(水) 01:03:26.89 ID:???
自己解決しました
loop();
i++;
の部分を逆に
i++;
loop();
にしたら大丈夫でした
194 :
Name_Not_Found
2016/07/20(水) 02:01:52.57 ID:???
195 :
Name_Not_Found
2016/07/20(水) 02:15:22.89 ID:???
> 他言語の仕様/仕様書なら、最初からこんな問題は存在しない。
そんなわけねーだろw
どんな言語でも最初は汚いし
完璧な言語はない。
なによりお前、他の言語と言ってるが、
じゃあ具体的にどの言語だよ?
どうせしらんだろ
196 :
195
2016/07/20(水) 02:16:46.90 ID:???
書き込みスレ間違え
197 :
Name_Not_Found
2016/07/20(水) 02:36:46.00 ID:???
>>193 グローバル変数でインクリメントとかするから変な事になるし、後で追えないんじゃないかな。
function loop(i)にして、
success,errorの所の呼び出しを
loop(i+1)とかにしたらもっと手早くシンプルに解決したと思うよ。
loopって名前もやめにして、getDataBySeqなんて名前にしたら、後から分かりやすいし。
もっと言えば、
getData(a){
var aa=shift(a);
if(!aa) return;
var url = '
https://jquery.com/?s='+aa;
:
:
getData(a);
}
だと、iも要らないと。
198 :
Name_Not_Found
2016/07/20(水) 05:19:42.02 ID:???
>>191-192 C/C++以外の言語は、シャローコピー。
Rubyでも、Array.newにブロック(処理)を渡さないと、同じ参照を指してしまう
3つとも、同じ参照を指す
ary = Array.new(3, [0, 1])
[[0, 1], [0, 1], [0, 1]]
以下なら3つとも、別々の配列になる
ary = Array.new(3) do
[0, 1]
end
199 :
Name_Not_Found
2016/07/20(水) 08:36:24.14 ID:???
>>189 どうせHTTPリクエストはブラウザによって並列上限数が決められてるから
終わってからとか考えなくてまとめて発行しちゃっていいよ。
こんなイメージで。
var a=['a','i','u','e'];
Promise.all(a.map(u=>fetch(`
https://jquery.com/?s=${u}`).then(r=>r.text))).then(
ts => ts.map(t=>$(t).find('.page-title').text()) ,err => console.log(err)
)
200 :
Name_Not_Found
2016/07/20(水) 08:37:22.01 ID:???
あぁ、いくらかミスがあるがそれはご愛嬌ということで
201 :
Name_Not_Found
2016/07/20(水) 09:32:54.03 ID:???
>>199 > どうせHTTPリクエストはブラウザによって並列上限数が決められてるから
HTTP2.0などでは違う
202 :
Name_Not_Found
2016/07/20(水) 09:36:28.57 ID:???
なおfetchが使えないブラウザはもちろん代わりにjQueryを使って良い。
この場合は関数名を変える程度で終わりかな
Promise.all(a.map(u=>$.get('
https://jquery.com/?s=' + u).then(r=>r.text))).then(
ts => ts.map(t=>$(t).find('.page-title').text()) ,err => console.log(err)
)
203 :
Name_Not_Found
2016/07/20(水) 11:42:44.25 ID:???
>>197 ありがとうございます
さっそくやってみます
204 :
Name_Not_Found
2016/07/20(水) 11:59:28.76 ID:???
>>199,202
なるほどそういう方法もあるのですね
189でいう>データの取得が終わってから
というのは、サイトの閲覧順で配列にデータを入れたかったのです
並列でやるとロード完了順に配列に入ってしまいそうな?気がするのですがよくわからないので勉強してみます
205 :
Name_Not_Found
2016/07/20(水) 13:15:10.66 ID:???
>>199 >>201 Promise.all って初めて知った…トン
>>204 並列なので処理完了順は不定
でも、map に渡すコールバックの引数で、配列のインデックスを渡すこともできるから
保存先の配列のインデックスをそれで指定したらいいと思う
(処理開始時に保存先配列の要素数も決まってるのだから)
206 :
Name_Not_Found
2016/07/20(水) 13:19:37.07 ID:???
>>201 違わない
HTTP2.0では基本的に1,2本内でやり取りする事になってるし、
その内部での輻輳問題の面も解決策が用意されてる
>>204 Promise.allは順序を維持してくれる
ちなみに「r=>r.text」→「r=>r.text()」
207 :
Name_Not_Found
2016/07/20(水) 13:21:14.12 ID:???
細かい話だがHTTP「2.0」って表記は気持ち悪いな
208 :
Name_Not_Found
2016/07/20(水) 21:45:59.52 ID:???
今でこそHTTP/2だけど、提案当初はHTTP/2.0だったし、気持ち悪いって程ではないような。
「HTML5が気持ち悪い。HTML Living Standardといえ。」みたいな感覚なのかな。
209 :
Name_Not_Found
2016/07/20(水) 22:45:53.46 ID:???
"2.0"は気持ち悪いが、"/"がないのは許せるのか…
210 :
Name_Not_Found
2016/07/20(水) 23:17:07.81 ID:???
>>206 > Promise.allは順序を維持してくれる
仕様で保証されているかは別として、
処理を開始する順番は保持されるだろうけど、
処理自体は並列で実行されるので結果が
帰ってくる順番は維持されない。
211 :
Name_Not_Found
2016/07/20(水) 23:24:21.33 ID:???
>>205 > Promise.all って初めて知った…トン
jQueryだと$.whenが同じ働きかな
>
https://api.jquery.com/jquery.when/ まずHTML5 APIだけを使用するならば
Promise + Fetch API + DOM APIでガシガシ。
DOM APIでガシガシコーディングするのが辛ければjQueryを導入する。
Promise + Fetch API + jQuery 3.0 Slim
最新のブラウザが使えないならばPolyfillで頑張る。
Promise(Polyfill) + Fetch API(Polyfill) + jQuery 3.0 Slim
そして古いブラウザを対応しなければならず、jQueryは導入しているが
Polyfillは導入しないとかいうならば、
jQuery Deferred + jQuery Ajax + jQuery というパターンも有る。
今はDeferredはPromiseと互換性があるので、
jQueryはSlim版を使ってPromiseとFetch APIを使っていくのが良いと思う。
212 :
Name_Not_Found
2016/07/21(木) 00:28:18.65 ID:???
jQuery DeferredはAjaxでしか使わんとわめいていた奴は意見を変えたみたいだな
213 :
Name_Not_Found
2016/07/21(木) 01:42:29.91 ID:???
jQuery DeferredはAjaxでしか使わんよ。
誰が意見を変えたって?
つかうというのならどこで使っているのか
教えて欲しい。
214 :
Name_Not_Found
2016/07/21(木) 02:04:58.93 ID:???
215 :
Name_Not_Found
2016/07/21(木) 02:10:57.99 ID:???
216 :
Name_Not_Found
2016/07/21(木) 02:11:44.50 ID:???
間違い
>>211にはDeferredはAjax関連以外で使うって話は無いけど?
217 :
Name_Not_Found
2016/07/21(木) 02:12:58.29 ID:???
正確には、
jQueryでDeferredがでてくるのは
Ajax関連以外しか無いって言ってたんだけど、
なんか話をすり替えようとしてないか?w
218 :
Name_Not_Found
2016/07/21(木) 02:13:20.29 ID:???
また間違えたw
正確には、
jQueryでDeferredがでてくるのは
Ajax関連しか無いって言ってたんだけど、
なんか話をすり替えようとしてないか?w
219 :
Name_Not_Found
2016/07/21(木) 02:29:05.80 ID:???
>>217-218 君がすり替えてるんじゃないの?
jQuery.Deferredを使えばajax以外でも出てくるけど、君は使わないんでしょ?
220 :
Name_Not_Found
2016/07/21(木) 02:41:12.63 ID:???
>>219 以前の話の続きだよね? ならこういう話だよ。
JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465399470/144 144 : Name_Not_Found2016/07/05(火) 22:04:58.42 ID:???
>>141 > 例えば、
>>124の「Promise.allをそのまま使え」は余計なお世話だ
なぜ? Promise.allを使いたければ、標準のPromise.allを使えばいいだろ?
なんでそこで、Deferred.allを使いたいと思ったんだ?
> jQuery.Deferredを使うならjQuery.whenで事足りるからな
事足りるんじゃなくて、えとな。話聞いてる?
DeferredはPromsieが登場するよりも前に生まれたの。
事足りんじゃなくて、当時はそれを使うしかなかった。
今はPromiseがあるから、それを使えばいいだろ。
DeferredはPromiseと互換性があるのだから Promiseのように使うことができる。
jQuery.Deferredオブジェクトを"作る" ときにはPromiseの作り方と違うから
学習コストはいるが、そこでちょっと待てって話だよ。
jQuery.Deferredオブジェクトを作ることがあるのかと。
答えは "ない" だ。昔(Promiseがなかった時代)はjQuery.Deferredを汎用的なPromiseの代用として
使う事もあったかもしれないが、今はPromiseをそのまま使えばいいのだから、もはや作ることはない。
PromiseとDeferredのオブジェクトの作り方は違うが作ることはないのだから学習コストも発生することはない。
今はjQueryのAjax関連の戻り値として、Promiseオブジェクトと互換性のあるDeferredのオブジェクトが
でてくるだけでその戻り値はPromiseオブジェクトであると思って使えば良い。互換性がある。
だから学習コストはかからない。
現状でお前の言う学習コストはどこにもかからないんだよ。
> 「jQuery.Deferredを(今の時代は)使う必要がない」とかいうお前の勝手な考えはどうでもいい
それをいうなら、お前の勝手な考えはどうでもいいw
221 :
Name_Not_Found
2016/07/21(木) 02:41:43.20 ID:???
145 名前:Name_Not_Found[sage] 投稿日:2016/07/05(火) 22:07:06.43 ID:???
>>141 > お前は異常なほどに「jQuery.ajaxの返り値」に拘っているが、俺は一言もajax()には触れてない
お前がなぜajaxに触れていないかのほうが問題。
jQueryでDeferredがでてくるのはajaxの戻り値としてだけだ。
jQuery.ajaxの返り値に拘るなというのなら、じゃあ聞こう。
どこで Deferred がでてくるんだ?
お前は何にこだわっているのかという質問だよ。
222 :
Name_Not_Found
2016/07/21(木) 02:42:03.90 ID:???
150 名前:Name_Not_Found[sage] 投稿日:2016/07/05(火) 22:25:07.59 ID:???
ちなみにDeferredをPromise.allの引数としてそのまま使えることの証明
https://jsfiddle.net/axL7p4d4/1/ function timeout(ms) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve();
}, ms);
});
}
Promise.all([
timeout(3000),
$.get('/'),
timeout(3000),
]).then(function(data) {
console.log(data[1].split("\n")[0])
});
223 :
Name_Not_Found
2016/07/21(木) 02:42:23.34 ID:???
151 自分:Name_Not_Found[sage] 投稿日:2016/07/05(火) 22:31:32.31 ID:???
>>149 > PromiseもFetch APIも実装されてないブラウザがある以上、素のままでは書けないのでPolyfillを適用する必要がある
> jQueryを使うなら他にPolyfillライブラリを適用するコストをかけたくないからjQueryだけで完結できれば一番良いというだけ
それについてはとっくにレスしたよね?
だからPolyfillを適用すれば良い。標準のFetch APIを使うならばjQueryをajax用途として
使う必要はない。だからjQuery 3.0でajax部分を取り除いたSlim buildができたわけ。
jQueryがいくら頑張ろうがPolyfillになることはない。$.Promiseとかになるんだから。
だからお前の目的であるはずの標準APIを使うことはできない。
jQueryでは標準APIと同等のものになることはないのに、
なんでお前はPolyfillではなくjQueryを使おうとしてるんだ?
そこが意味わからんよね。言ってることとやろうとしてることが矛盾してるだろ
標準大好きならば、標準APIのPolyfill + jQuery 3.0 Slim buildの一択だろ。
jQueryはDOM操作用のライブラリに専念させろよ。
224 :
Name_Not_Found
2016/07/21(木) 02:43:08.57 ID:???
161 自分:Name_Not_Found[sage] 投稿日:2016/07/07(木) 23:46:52.83 ID:???
>>160 じゃあまとめてみる?
>>77の主張・・・jQueryのDefferedを廃止してPromiseを使え。
俺の主張
・DefferedはPromiseと互換性があり混ぜて使える。
・互換性がある今DefferedとPromiseの大きな違いはオブジェクトを生成するときだが
Deffered内部以外でDefferedオブジェクトを作る必要はない
・Defferedオブジェクトが作りたいならば、代わりにPromiseを使えば良い。
・jQueryでDefferedが戻り値になっているのはAjax関連だけである。
・jQueryでDefferedを引数に取るものはない。
・互換性があるから当然jQueryのAjax関連の戻り値のDefferedはPromiseと同じ使い方ができる
・DefferedはPromiseの機能+αでありPromiseに置き換えると機能低下になる
・Promiseに対応していないブラウザ(Android 4.4など)があるからDefferedを廃止することはできない
・標準APIを使いたい人はPromiseと同時にFetch APIを使うだろうから、そもそもjQeuryのAjax機能を使う必要はない。
・それを見越してjQueryはajax関連の機能を除いたSlim buildを用意しており標準に適合するようになっている。
・つまりjQueryはDOM操作用のライブラリである。
まとめ
標準大好きな人
→ jQueryのAjax関連機能ではなく標準のFetch APIを使う(jQueryはDOM操作用として使う)から学習コストは下がる。
古いブラウザに対応する必要がある人
→jQueryのAjax関連機能を使う。戻り値はPromise互換なので標準Promiseと同じ使い方ができるから学習コストは下がる。
jQueryにどっぷり使ってる人
→Defferedオブジェクトを作ったりすることにすでになれてるから変わらない方が学習コストが下がる。
反論あるのならお待ちしています。
225 :
Name_Not_Found
2016/07/21(木) 02:55:18.04 ID:???
このコピペ君は5レスも消費して何が言いたいんだ?
要点をまとめろ
226 :
Name_Not_Found
2016/07/21(木) 03:19:34.67 ID:???
227 :
Name_Not_Found
2016/07/21(木) 04:06:31.24 ID:???
228 :
Name_Not_Found
2016/07/21(木) 07:32:55.14 ID:???
どうでもいいが、こいつは途中までjQuery.whenの存在を知らなかっただろ
> ・jQueryでDefferedが戻り値になっているのはAjax関連だけである。
jQuery.Deferredがある
> ・jQueryでDefferedを引数に取るものはない。
jQuery.whenがある
229 :
206
2016/07/21(木) 07:37:39.88 ID:???
230 :
Name_Not_Found
2016/07/21(木) 07:45:29.99 ID:???
> ・jQueryでDefferedが戻り値になっているのはAjax関連だけである。
Deferredがajax専用だと思っているみたいだし、jQuery.Deferredも知らないんじゃないかな
231 :
Name_Not_Found
2016/07/21(木) 08:32:30.18 ID:???
俺の中で彼は「標準仕様には疎いが、jQueryだけは詳しい人」だったが、大幅に下方修正せざるを得ない
知識の偏りを自覚できてないのが最大の問題だな
232 :
Name_Not_Found
2016/07/21(木) 08:48:01.05 ID:???
233 :
Name_Not_Found
2016/07/21(木) 08:51:34.15 ID:???
>>228 > jQuery.whenがある
それはDefferedのための関数じゃんw
Defferedを使わないならjQuery.whenも使う必要はない。
Promiseを使えば良い。知ってるかい?
DefferedはPromiseと互換性があるから、
Promise.allの引数にDefferedを渡すことができる。
>>230 > Deferredがajax専用だと思っているみたいだし、jQuery.Deferredも知らないんじゃないかな
そういう話じゃないねw
Deferredを自分で使う必要はない(もちろん使っても良い)が
DeferredはPromiseと互換性があってPromiseを使えばいいから
jQuery.Deferredの仕様を変える必要はないって話。
それは引用したレスにしっかり書いてあるね。
234 :
Name_Not_Found
2016/07/21(木) 11:21:59.17 ID:???
235 :
Name_Not_Found
2016/07/21(木) 14:23:13.05 ID:???
236 :
Name_Not_Found
2016/07/21(木) 14:42:48.74 ID:???
Edge, IE11で、ローカルPC内のJSファイルを、1文字でも修正すると、
<body onload="init()"> で、JSファイルが読み込めなくなった。
initが見つからない
2時間ほど悪戦苦闘して、HTMLファイルを修正したら、読み込めるようになった。
<body onload="init();"> セミコロンを入れた
この現象は何やったんや。原因不明。
こんな奇妙な現象にあった人います?
ファイルはすべて、UTF-8Nだし、
F12を使って再読み込みしているから、ブラウザキャッシュでもないだろう
237 :
Name_Not_Found
2016/07/21(木) 14:50:05.05 ID:???
次のスクリプトファイルが結合演算子や括弧から始まっているとかじゃないか?
238 :
236
2016/07/21(木) 15:36:33.79 ID:???
<head>の中で、CSS, JSファイルを、1つずつ読み込んでいるだけ。
それで、<body onload="init();">
以下のように、() 無しだと動かない
<body onload="init;">
239 :
Name_Not_Found
2016/07/21(木) 20:54:53.79 ID:???
>>236 今はHTMLの属性(onload)でイベント呼び出しとかしないので。
240 :
Name_Not_Found
2016/07/21(木) 20:55:59.84 ID:???
>>238 > 以下のように、() 無しだと動かない
当たり前。お前の書いたバグじゃんかw
241 :
Name_Not_Found
2016/07/21(木) 23:41:49.52 ID:???
ruby 脳か
242 :
Name_Not_Found
2016/07/22(金) 06:34:43.67 ID:???
>>238 > 以下のように、() 無しだと動かない
> <body onload="init;">
>>236では「<body onload="init()"> で、JSファイルが読み込めなくなった」といっていたのにどうしてこうなった?
質問者の記憶違いか?
243 :
236
2016/07/22(金) 07:05:06.18 ID:???
漏れの推測だが、TeraPad で、JSファイルを修正して保存しても、
ファイルをロックしたままで、システムに反映されないのかも
それとも、セキュリティソフトのWindows Defenderかな?
システムメモリのキャッシュも関係あるかも?
それで、F12から、JSファイルが開けなくなり、
<body onload="init()"> で、JSファイルにある、initが見つからない
ところが、HTMLファイルなどを、1文字でも修正すると、
最初からすべてのファイルを再読み込みするのかも
その時には、JSファイルがロックされていないから、読み込める
244 :
Name_Not_Found
2016/07/22(金) 08:43:25.00 ID:???
>以下のように、() 無しだと動かない
><body onload="init;">
こんなこと言ってるレベルだし、自分では大丈夫なつもりで別の何か変なことをやってただけでは
(初心者あるある。俺もある)
245 :
Name_Not_Found
2016/07/22(金) 09:36:24.35 ID:???
人を馬鹿にするの大概にせいよワレ
246 :
Name_Not_Found
2016/07/22(金) 10:03:52.45 ID:???
(だめだこりゃ)
247 :
Name_Not_Found
2016/07/22(金) 15:40:55.70 ID:???
var l = 8;
var arr = [];
for (var i=0;i<l;i++) { arr.push(i+1); }
arr.map(function(a){ return '?page='+a; });
//["?page=1", "?page=2", "?page=3", "?page=4", "?page=5", "?page=6", "?page=7", "?page=8"]
なんかforの部分とかいろいろもっと簡潔に書きたいですよろしくおねがいします
(var lの部分はサイトからスクレイピングです)
248 :
Name_Not_Found
2016/07/22(金) 17:36:39.32 ID:???
[...Array(8).keys()].map(n=>`?page=${n+1}`)
249 :
Name_Not_Found
2016/07/22(金) 19:47:38.53 ID:???
>>247 元々、複雑なコードとも思えないけど
[...Array(8)].map((e,i) => '?page=' + ++i);
250 :
Name_Not_Found
2016/07/22(金) 21:32:49.96 ID:???
>>247 連番生成なんてありがちなのでどっかにあるはず。
なければ自分で作る。
定義は御自分の書かれたもので全然問題ない。
何れにせよ各所にばら撒くのが一番宜しくない。
251 :
Name_Not_Found
2016/07/22(金) 22:21:57.10 ID:???
>>247 for (var i = 0; i < l; i++) { arr.push('?page=' + (i + 1)); }
252 :
251
2016/07/22(金) 22:23:57.89 ID:???
訂正
for (var i = 1; i < 9; i++) { arr.push('?page=' + i); }
253 :
Name_Not_Found
2016/07/22(金) 23:12:37.47 ID:???
<=l だろ
254 :
251
2016/07/23(土) 00:16:16.22 ID:???
>>253 それでもいいけど、l++; i < 9; の方がコストが低いからそうした
255 :
Name_Not_Found
2016/07/23(土) 04:57:26.28 ID:???
ふーん
256 :
Name_Not_Found
2016/07/23(土) 05:10:47.99 ID:???
ベンチマークもしないでコストとか言ってるやつは
無視するべきw
そして0.0001マイクロ秒程度しか差が出ないようなものに
意味はないw
257 :
Name_Not_Found
2016/07/23(土) 08:20:53.03 ID:???
勝手に自分で書き換えればいいだけだろ
ポリシーの差を批判の種にする奴は最悪
258 :
Name_Not_Found
2016/07/23(土) 16:17:36.69 ID:???
ふーん
259 :
Name_Not_Found
2016/07/24(日) 01:55:16.47 ID:???
>>257 ポリシーじゃなくてコストが低いと言ってるから
馬鹿にされてるんだろw
理由はないけどこっちのほうが好きなんだーっていう
話なら勝手にしろやで終わる話。
間違った理由を言うから、訂正されるんだよ。
260 :
Name_Not_Found
2016/07/24(日) 05:31:11.23 ID:???
汎用性を無くしてパフォーマンスを優先するのなら、
あの程度の配列ベタ書きするのが一番わかりやすくてい良い。
261 :
Name_Not_Found
2016/07/24(日) 08:29:03.82 ID:???
>>259 > ポリシーじゃなくてコストが低いと言ってるから
それは「パフォーマンス優先にする」というポリシーだろ
262 :
Name_Not_Found
2016/07/24(日) 08:31:13.45 ID:???
i < 9 と i <= 8 で「i <= 8 が明確に良い」という理由はないし、各自で好きに書けばいい
263 :
251
2016/07/24(日) 12:34:00.71 ID:hzHrNiJ0
聞かれたから答えただけで「i < 9 を使え」と命令しているわけでもない
「訂正される」程の主張でもないと思うので気に入らないなら自分で手を入れてくれ
誰も自分のやり方を強制してないから
264 :
Name_Not_Found
2016/07/24(日) 14:53:56.62 ID:???
>>261 パフォーマンスを優先するはポリシーだが
コストは低くなってないので、ポリシーに反することを言っている。
それにパフォーマンスを優先すると言うのなら
ベンチマークをしないといけない。
265 :
Name_Not_Found
2016/07/24(日) 14:55:28.06 ID:???
>>262 今回の場合は、要素数8という
8という数字が出ているので、それを使うべき。
だから i <= 8 の方が正しい。
もしくはarr.lengthを使うとか
266 :
Name_Not_Found
2016/07/24(日) 15:28:17.41 ID:???
いやいやいや……今回は「 l 」を使うべきでしょ、
それを9なんて数字にするぐらいならベタ書きのほうが10倍マシという話。
267 :
Name_Not_Found
2016/07/24(日) 15:38:12.83 ID:2+eNZvZ7
誰か居ますか?
268 :
Name_Not_Found
2016/07/24(日) 15:43:06.82 ID:???
>>266 そりゃそうだよw
俺が言いたいのは、 < か <= かって話。
基本的にlengthが存在する場合は、 < を使うことになるが、
インデックスが0からではなく1から始めたい場合は <= を使う。
もちろんこれは可読性のためにやる。
コスト?(笑)
ベンチマークしてから言え。
速そうだなぐらいしか考えてない中途半端なことしてるやつに
パフォーマンスを語る資格はない。
269 :
Name_Not_Found
2016/07/24(日) 15:44:54.34 ID:???
>>267 今はいるけど、これからポケモンゲットしに行くので。
270 :
Name_Not_Found
2016/07/24(日) 16:49:38.02 ID:???
271 :
251
2016/07/24(日) 16:55:14.46 ID:oDtCtbmm
>>266 そこはlに9を代入したことにして読み替えでくれ
外部参照らしいが、lの代入時に1を加算するぐらいわけないはず
それと、どうするかは質問者が決めればいいことだから
こんなどうでもいいことで他人のコードを避難する時間が無駄
272 :
Name_Not_Found
2016/07/24(日) 17:37:28.87 ID:???
すまんが、わけが分からないよ
そんなに他人もしくは半年後の自分がぱっと見て分からないコードを書きたいの???
なんで早くなるかならないか分からないfor文の改良のためにあちこち考慮し工夫しないといけないの???
素晴らしいfor文を書くことが目的ではないよね
273 :
Name_Not_Found
2016/07/24(日) 18:27:39.70 ID:???
ただいま。ピカチュウとかニャースとかコダックとかゲットしてきた。
>>271 > こんなどうでもいいことで他人のコードを避難する時間が無駄
非難ではない。コードレビューだ。
どういったコードが可読性が高いかの話をしている。
274 :
Name_Not_Found
2016/07/24(日) 19:24:41.64 ID:???
いや、
馬鹿の話は
「ふーん」
って聞き流しとくほうが良いよ
275 :
Name_Not_Found
2016/07/24(日) 20:47:30.14 ID:???
バカには無理
276 :
Name_Not_Found
2016/07/24(日) 22:28:07.38 ID:???
> そんなに他人もしくは半年後の自分がぱっと見て分からないコードを書きたいの???
i < 9 が「半年後の自分がぱっと見て分からないコード」というなら相当にレベルが低いと思うぞ
自分が見て分からないのを一般化してるだけだろ
正直、どっちでもいいが、可読性とやらを主張するほどのものではない
277 :
Name_Not_Found
2016/07/25(月) 05:15:37.09 ID:???
だれがそんな主張してるんだろうか。
「というなら」とか勝手に人様の文章を自分の妄想で間違って解釈して
長文書き散らす前に最新の10スレ程度読めないのだろうか……
278 :
Name_Not_Found
2016/07/25(月) 17:28:32.91 ID:???
暑いからか気の短い奴が増えたな。
ま、血気盛んな奴らが来てちょっと過疎でなくなってきたのだけはありがたい。
279 :
Name_Not_Found
2016/07/25(月) 20:45:59.20 ID:???
いつもレスしてるのは俺ばっかりだしなw
280 :
Name_Not_Found
2016/07/25(月) 22:28:12.68 ID:???
荒らしvs暇な人、が風物詩になりつつある
281 :
Name_Not_Found
2016/07/26(火) 11:55:30.10 ID:???
<button href="javascript:;">
これの意味がよくわからないのですが、どういう意味なんでしょうか?
282 :
Name_Not_Found
2016/07/26(火) 14:40:19.65 ID:???
<button href="javascript:;">
これの意味がよくわからないのですが、どういう意味なんでしょうか?
これの意味がよくわからないのですが、どういう意味なんでしょうか?
283 :
Name_Not_Found
2016/07/26(火) 18:01:47.74 ID:???
>>281 button要素にhref属性はないので明確な間違い
284 :
Name_Not_Found
2016/07/26(火) 20:44:08.59 ID:???
ボタン風リンクとして解釈してくれるブラウザでもあるんだろうか?
285 :
Name_Not_Found
2016/07/26(火) 20:50:16.13 ID:???
後からボタン風リンクに直してくれるフレームワーク前提かもしれないじゃん。
もうね。何十回何百回言ってきてるけど、見つけた場所を書けよ。
286 :
Name_Not_Found
2016/07/26(火) 21:14:57.16 ID:???
287 :
Name_Not_Found
2016/07/26(火) 21:23:14.37 ID:???
ほいじゃねえよw
すみませんでしたは無いのか?
バカにしてるの?
288 :
Name_Not_Found
2016/07/26(火) 21:25:33.28 ID:???
フォームがいくつかあるページがあるとします。そのすべてのフォームをクリックしたときに
確認ダイアログを出したいとします。jQueryの場合こんな感じです。
$(document).on('submit', function(event) {
confirm('OK?') || event.preventDefault();
});
さて、最近はAngularやReactなどが流行っているようですが、
上記の処理をこれらのフレームワークを使って書いたらどうなるのでしょうか?(質問1)
jQueryはオワコンとか言ってる人がいるようですが、私としては
プログラマがたくさん必要なブラウザで多くの処理を行うような複雑なウェブアプリには
フレームワークを使う意味があるが、そもそも複雑ではないウェブサイト(しかも既存のページがたくさんある)
ではフレームワークを導入してもコスト的にペイしないと思っていますがあっていますか?(質問2)
jQueryだと既存のウェブサイトに付け加える形で処理を追加できますが、
それを上回るメリットがフレームワークにはあるのでしょうか?(質問3)
以上三点よろしくお願いします。
289 :
Name_Not_Found
2016/07/26(火) 21:25:54.52 ID:???
まあいい、
んで、どうしてかっていうのは
生のソースと対ししてみりゃ概ね予想がつくだろ
ポケモンしてクソしてさっさと寝ろ
290 :
Name_Not_Found
2016/07/27(水) 08:29:21.08 ID:???
>>288 標準DOM操作仕様の策定が遅いからその面ではiQueryはまだまだ優秀だよ。
標準もかなりjQueryのようなライブラリを参考にしてるからね。
ただ、もう参考にされて標準仕様として確立された機能も増えてきて、
jQueryの中の半分くらいの機能は「古いもの」となってしまった。
jQueryはライブラリとは言え、拡張型でなくて、自分の世界を提供する型だから
むしろフレームワークに近い大きく重たい存在で、
他と柔和させて一部だけを効率的に使うということがしづらい。
だったらもういろいろ中途半端なjQueryを使うのは辞めて、
小さなことは標準API、大きなことはフレームワークを使うようにしよう
というのがjQueryオワコン論
とは言え最初に言ったように、
イベント周りではObservableが有望とは言えまだ時期尚早だし、
jQueryの穴を完全に埋めるとこまで整備されてはいないので、
慎重に使う価値はまだある。
291 :
Name_Not_Found
2016/07/27(水) 11:22:58.60 ID:???
>>288 React(仮想DOM)とjQueryを並列に語るのがそもそもの間違い
https://teratail.com/questions/41054 > $(document).on('submit', function(event) {
> confirm('OK?') || event.preventDefault();
> });
この程度のコードならDOM APIでも十分に書けるのでjQueryのような重いライブラリを使う必要性は感じない
292 :
Name_Not_Found
2016/07/27(水) 12:17:05.05 ID:???
フレームワークと言ってもAltJSや独自HTML構造を強制するものから
一部機能に特化しててjQueryより扱いやすいものまでいろいろあるしね
293 :
Name_Not_Found
2016/07/27(水) 15:25:51.39 ID:???
var Obj = {
data: {
value: 10
},
func: function() {
return this.data.value;
}
};
1. Obj.func(); // 10
2. btn.click(function() { Obj.func(); }); // 10
3. btn.click(Obj.func); // undefined
3の方法でdata.valueを返す様にはできないのでしょうか?
294 :
Name_Not_Found
2016/07/27(水) 16:44:24.42 ID:???
>>288 質問1は使うものによるが、
質問2は、ペイする(自社案件実績より)
俺やったのはvueとriotだけど、riotだと順次置き換えられる上に、jQueryと相乗り出来る。
今コンポーネント化してるよ、色々。
業務アプリだと余計に、実装者のレベルに依存してテキストボックスとかの処理がしっかりしてたりしてなかったりしてたのが、
どの画面でも同じ動きをするようになるし、部品の不具合は部品の不具合として切り分けできるようになる。
画面屋さんもコーダさんもインフラ屋さんも「アーキが悪い」と胸張って言うようになる。
>>293 btn.click=Obj.func;
295 :
Name_Not_Found
2016/07/27(水) 17:08:35.30 ID:???
296 :
Name_Not_Found
2016/07/27(水) 20:16:12.82 ID:???
>>287 バカにしてるよ
応えられない馬鹿っぽいし
297 :
Name_Not_Found
2016/07/27(水) 21:43:42.18 ID:???
>>294,295
ありがとうございました
bindすることで解決しました
298 :
Name_Not_Found
2016/07/27(水) 22:11:50.43 ID:???
>>291 > この程度のコードならDOM APIでも十分に書けるのでjQueryのような重いライブラリを使う必要性は感じない
DOM APIとjQueryの比較ではjQueryが優れているということは明らかなので
そこは質問してないです。
299 :
Name_Not_Found
2016/07/27(水) 22:13:01.76 ID:???
せめて質問1
> 上記の処理をこれらのフレームワークを使って書いたらどうなるのでしょうか?(質問1)
の答えが聞きたいです。
300 :
Name_Not_Found
2016/07/27(水) 23:37:35.38 ID:???
twitterでchromeのコンソール出してconsole.log()使うと全部undefinedになりますたすけてください
301 :
Name_Not_Found
2016/07/27(水) 23:39:59.44 ID:???
自己解決です!
console.log = console.__proto__.log;
ってやったらできました!!(怒)
302 :
Name_Not_Found
2016/07/28(木) 02:57:00.97 ID:???
>>299 riot。
<button style=.... onclick={
performExecute}>
performExecute(e) {
if(!confirm('ok?')) return true;//riotは、trueを返すとpreventDefaultがよばれ「なく」なる。
//サブミットの処理でもなんでも。
}