JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
JavaScriptライブラリ を自ら学ぶ人のための質問スレッドです。
■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【ライブラリ】使用しているライブラリ名を記入してください。(ex: jQuery)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/ >>157
> 意味不明なら意味を理解しようと努力するのが普通
じゃああんたは努力すれば?w そもそも、77が理解できないのは>>156だけだろ
あれだけ説明されてまだ意味不明とか言ってる時点で読解力が欠如してる >>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オブジェクトを作ったりすることにすでになれてるから変わらない方が学習コストが下がる。
反論あるのならお待ちしています。 99のいう学習コストはDOM API習得済/jQuery初心者が対象だろうにjQuery習得者の学習コストに置き換えてる
ホント論理のすり替えが好きだよな >>162
> 99のいう学習コストはDOM API習得済/jQuery初心者が対象だろうに
話をちゃんと読む気がないのか?
DOM API習得済であれば、当然標準のPromiseとFetch APIも習得済みだろ
jQueryはDOM操作専用に使って、Ajax部分はFetch APIを使うから、
Defferedは出てこないって話なんだが。 >>163
そんなんならjQueryなんか要らんわ
jQuery使ってんのにPolyfillまで適用するのは面倒くさすぎる
あまえのFetch APIを使えという指示に従う必要はないから jQueryが気に入らないから書き換えたいんだ
→jQueryが気に入らないなら使わなければいいよ
→く( ゚д゚)ポカーン >>165
なんでわざとらしく間違えるから。
どうせやると思ったからあえて
「jQueryはDOM操作専用」って言ったにもかからわず
俺がjQueryを使うなと言ったことにする。
はっきり言うけど、あんた卑怯だよね。 >>164
> jQuery使ってんのにPolyfillまで適用するのは面倒くさすぎる
ならjQuery使えば?
> あまえのFetch APIを使えという指示に従う必要はないから
誰もお前に言ってないよ。標準を使いたいって人はFetch APIを使えばいいと言ってるだけ。
jQueryのAjax関連の戻り値をPromiseにしたって、一部しか標準になってない。
標準がいいならばFetch APIを使うのが一番だろ?
そしてjQueryはDOM操作専用で使えば良い。 >>166
> 「jQueryはDOM操作専用」って言ったにもかからわず
「jQueryはDOM操作専用」なら、ajaxもDeferredも存在しないはずだが?
てめーの勝手なイメージを押し付けているだけという事にいい加減気が付け >>168
まーたわざとらしく間違える
「jQueryはDOM操作専用に使って」って言ったのに
「jQueryはDOM操作専用だ」と言ったことにしようとしてる。
本当にお前卑怯だな。
jQueryは最初はDOM操作+ブラウザ間の違いの吸収+Ajaxとして作られた。
ブラウザ間の違いが減って、使いやすいAPIがでてきて
ようやくjQueryに追いついてきたから、
jQueryはDOM操作専用として使えば十分だって話だ。
逆に言えば、DOM APIの設計が変わらない限り
jQueryはDOM操作用のすぐれたライブラリといえる。
(設計を変えるっていうのはjQueryオブジェクトのようなDOMコレクションに
DOM操作メソッドを追加するっていうことね。これをやらずにいくら
メソッドを増やしたところでjQueryには追いつけない) >>169
標準に合わせる意義をお前が理解してないから「jQueryに追いついてきた」とかいう発想になるのさ
お前にとっては変わらず「>99の意見は意味不明」 >>170
まーた意味がわからんことを言う。
標準のAPIの仕様がjQueryのシンプルさに
追いついてきたって話だろうが。 「標準に合わせる」これは素晴らしい
「非標準なもの」を使うと、特定のブラウザでしか
動かないものになるからだ。
という話がある。だから「標準」という言葉を使った。
だがよく考えてみよう。
標準の反対は非標準、つまり標準ではないものを使うことであって
標準なものを使っているライブラリにたいして
標準のメリットを言ったところで意味は無いのである。 とりあえず、プログラム板に統合する事に賛成するということはいっておく どこでもいいよw
俺は人がいるところに行くだけだから。 なんか俺を排除するための議論だったみたいな感じなんだが
そんなの関係なく俺は適当にやるし、
仲間(?)割れしてなにやってるんだろうなって感じだよなw こっちのスレで議論しなければ認めないという人もいたみたいだねえ
このスレの住民が向こうに書き込んでるとは考えなかったんだろうね そして一番マヌケなのは、隔離(笑)できたと思っている所。
jQueryの話をする場所が増えているだけなのに気づいていない。 >>180
俺としてもスルーしてほしいんだが(笑)
そうすれば、質問者 と それに答える俺 という
素晴らしい流れてできるだろう? プログラム板の話ならjQueryの感想書いてつなぎ留め云々にドン引きだわ
炎上商法と比べたらド過疎の方がいくらかマシ 会話が成立していると思っているところが鈍感さんだね ID強制したいって気持ちは理解できるからプログラム板に移ることは賛成なんだけどね 褒められたことではないが、感想云々は炎上商法とは違うんじゃないか?
感想を書くだけで炎上するとは思えないが 俺としてはID強制することで何が解決するのか
さっぱり分からないが、まあ俺としてはNGIDにしてくれることで
反論が一切されないっていうのは楽な状況でもある
(だってNGIDにしたら見えなくなるから反論したくても分からない) まああっちのスレ見てて思うのは、俺が荒らしているような事を言ってるが
俺がいなくても荒れるじゃねーかって話。
あの例のテンプレ押し付けようとしているやつが
一番の元凶なんだよな。本人がわかってないのが一番たちが悪い。 子のスレから出張しているjQuery荒らしが完全にスルーされていて笑った こいつは「NGIDにしたはずなのになぜ反論するの?w」と反論するための布石をうってるだけだから何かと理由をつけて反論したりしないだろうな
2chブラウザで sage チェック外すだけだから「面倒くさい」は理由にならないけどな × 何かと理由をつけて反論したりしないだろうな
○ 何かと理由をつけてIDを出さないだろうな ID出しても自演だのIPコロコロ変えてるだのいうだけだろうなぁ IDをコロコロ変えたらNGIDしてほしい要望と矛盾するけどな 「>>188は俺じゃないから」の体で逃げを打つと見た ang2で2つの要素をforするにはどうすればいいですか?
定義リストをforで回したいです fabric.jsで質問です。
<canvas id="canvas1" width="1200" height="800"></canvas>
var canvas = new fabric.Canvas('canvas1');
で正常に動作しています。タッチデバイスで#canvas1をフリックすると選択の枠が表示されます。当然ですが画面スクロールにはなりません。
canvasを表示させたまま一時的に選択枠を無効にして画面スクロールできるようにしたいのですがどうやればいいでしょうか?
一時的にとはチェックボックスによるユーザ操作でもいいです。
selection = false;
は選べないだけで画面スクロールにはなりません。その他それらしきを試してみましたがどれもうまくいきません。
canvas.off('mouse:down');
canvas.off('mouse:move');
canvas.off('touch:gesture');
canvas.allowTouchScrolling = true;
ちなみに実際は#canvas1と同サイズの複数canvas(#canvas2,#canvas3・・・)を position:absolute; で重ねています。
よろしくお願いします。 >>200
試してないのでごめんだけど
透明なdivをcanvasの上に乗せちゃうってのはどうだろ? 同じイベントを、2つの異なる用途で使うの?
そもそも、それは無理だろ。
イベントハンドラーの中で、if文で処理を分けるとか? みなさんありがとうございます。
>>201
#canvas2・・・とはどう違うのでしょうか?
>>204
変わりませんでした。 jQuery UIを少しでもかじったことあるなら>>202のようなレスはしないはずなんだが reactをchrome-extensionのUI部分に使ってまして
サイドバーをiframeを使って作って画面に追加してるんですが
その部分をreact-devtoolが反応してくれません。
urlがchrome-extension://XXXX/sidebar.html
になっているからかと思っているんですがdevtoolで動作させる方法ご存じないでしょうか? https://codepen.io/valscion/pen/jBNjja?editors=0010
react公式にあるドキュメントのコードなんですけど
62行目ののメソッド、
this.setState({scale: 'c', temperature});
でなぜ動くのかわかりません
自分は
this.setState({scale: 'c', temperature: temperature });
だと思うのですが、実際コードをこのように書き換えてもちゃんと動きますし
どうしてなのか理由を教えてほしいです ルーティングのライブラリでおすすめのものはなんでしょうか?
使い方が簡単でシンプルのものが欲しいです。 >>210
ルーティングはフレームワークと密接に
結びついているものなので
単体では存在しません。 zipなら定番はどれですか?
他にも圧縮率など優れたライブラリがあったら教えて欲しいです 定番があるほどポピュラーなもんじゃないからなぁ
npmでzipやunzipで検索して使いやすそうなもん選べばいいと思うよ PixiJSでcontainer使って画像表示する場合で
( container = new PIXI.Container(); )
幾つかのパーツをひとまとめにした画像をスプライトに分割して使う時はさ
new PIXI.BaseTexture(source, scaleMode, resolution)
でペーステクスチャ作って
new PIXI.Texture(baseTexture, frame, orig, trim, rotate)
でパーツに分けて new PIXI.Sprite(texture) でやるのかなと思ったけど
デフォなやり方ってあるんすか?
あと分割せずにRectangleとかで範囲指定して
表示領域を変化させる方法とかあります? react-pixiの使い心地を教えてくれ!(ヽ´ω`) >>218
jsonでテクスチャアトラスデータつくってあとはそこで指定した名前でspriteつくるだけじゃないのかな? >>221
ありがとう
どこかのブログで見かけはしたけど
わたしにはちょいむずいな(ヽ´ω`) テクスチャアトラス記事 真下にあったわ・・・(ヽ´ω`) >>215
jsZIPが簡単
だけどjsでM単位のファイルはやめとけよ。 html2canvas(要素+canvas)をSVGに変換する方法ありますか? jsでZIP処理するときは小さなファイルのみにしておけよ。
Chromeで試したけどどれもこれも止まって使い物にならんかったぞ。 >>227
使い方が悪いのでは?
巨大なファイルで時間がかかるのはわかりきっているのだから
ライブラリに細かく分割して処理するための機能があるか、
もしなければ別スレッドでやればいいだけだし その通り
ただ10MBくらいだと同期でもいいくらいのはずだし、
反対に100MBを超えてくるとブラウザのメモリ制限に引っかかる恐れが出てくるので
シーケンシャルに作成しながらDBに保存していったり、サーバに送ると言った手間が要りそう 元からnodeの話じゃなかったの?
クアイアント側でzipするの? >>230
今の時代だよ
数百MBのファイルを扱うと
実際はその2倍、3倍のメモリを使うことにもなりかねないからね
デスクトップEdgeでも512MBしか保証されていない 速さでは遅延評価する、Lazy.js が速いらしいけど、
Lazy.js > Lo-Dash > Underscore
Lazy.js って使われているの?
version 0.4.2 だけど >>230
ZIPファイルをJavaScriptで扱ったけど1.1GBまでできたぞ >>232
> 数百MBのファイルを扱うと
> 実際はその2倍、3倍のメモリを使うことにもなりかねないからね
ん? なんか根拠あっていってんの?
まさか5MBのファイルを扱う時に15MB使っていたから、
100MBなら300MBに違いないとか思ってんの?
5MBのファイルに+10MBのワークメモリを使用するのなら
100MBなら+10MBで110MBですよ
なんで3倍とか思っちゃったのかな?w >>233
> 速さでは遅延評価する、Lazy.js が速いらしいけど、
それって遅延評価することで計算が省ける場合に限っての話でしょ?
殆どの計算は遅延評価のオーバーヘッドがないぶん
普通に計算したほうが速いと思うけど >>235
何で煽ってるのかわからないな そりゃ実装の工夫次第だけど、
まず原本ファイルがあって、各チャンクを圧縮したり、暗号化したり、
最後にZIPファイルとしたり固めてたら、
一時的に元ファイルの2倍3倍使ってしまうこともあり得るでしょ
だから512MBが上限だと思うなら、そういう『工夫のない実装』だと
100MBくらいが安心してサポートできる上限だ
100MBを超えてくればメモリ管理を特に意識する必要が出てくる
と言ってるだけなんだよ? 全くもって自明でしょ? >>239,240
俺の至らないレスで気分を害したことは謝る
本当に済まない
本当に済まない
本当に済まない
だけど俺は終始真面目に話をしてるんだから
頼むから煽らずに建設的な話を続けて欲しい
なぜそんなに煽ってくるのか困惑してる あと後付け厨とか言うのもよく理解ができない
突っ込みに対して補足を入れたら後付け厨なのか?
それとも最初から突っ込みが絶対入らない呪文を書けるとでも思ってるのか?
いっぺんに思考の全てを文章にして相手にぶつけることなんてできないんだから
こうして会話して行ってお互い真意を探るのは良いことだろうよ
それをあざ笑ったり煽るのは、真意を探ろうとかいう気持ちじゃなくて
最初から攻撃目的の突っ込みじゃないのか?
俺はそれは絶対に間違ってると思うよ コミュニケーションを試みるのは立派だと思うけど
たった一行の草生やした煽りレスに一々構うのは労力の無駄だぞ 心当たりあることを指摘されると許せなくなるような基地外多すぎだろ。 またいつもの基地外か
こいつは相手したらだめだよ
小学生並の屁理屈で自分が偉いと勘違いするタイプ
そもそも、相手の話のコアが通じない時点で立派なコミュニケーション障害なのにその認識の差異を必死でアピールというどうしようもないやつ >>234
>>232
>>238
1GBの動画fileをスライス
↓
スライスしたfileをAES暗号化
↓
ローカル上でZIP化
↓
ローカルに保存
IE11で何度か試してみたけど1GBまでは成功したぞ 保証と上限はまた話が変わってくるだろうからな
逆にブラウザが保証してくれてもOSにブラウザプロセス毎殺されることもあるだろうし
まあ普通のデスクトップツールならファイルとして書き出しながら処理するから
極端な話圧縮辞書くらいしかメモリ使わなくても済むが
WebのJSでやるのはちと大変だろうな >>248
環境によるなら、3倍メモリを使うのも環境によるわけで、
えらっそーに(笑)断言するべきじゃなかったですねwwww だれも環境によらず3倍のメモリを使う!なんて断言してはいないな >>250
主観が標準
思い込んだことが標準
否定されると事実をねじ曲げて牙を向ける
指摘されると挙げ足をとって話をそらす
またいつものこう言った輩だろ。
主観条件を想像して平気でこんな発言している。
>>実際は2倍、3倍のメモリを使うことにもなりかねないからね
>>230
今の時代だよ
数百MBのファイルを扱うと
実際はその2倍、3倍のメモリを使うことにもなりかねないからね
デスクトップEdgeでも512MBしか保証されていない どや? 不安になってきたろ?
そうや3倍とかにもなりかねんのや
不安だろう?
我が言霊の力じゃよ 何の根拠もないことでも
こうやって言葉で揺さぶりをかければ
相手に不安を与えるもんなんじゃよ
これが人生経験というものかのう よく分からんが、人生経験豊富な揺さぶりで不安になったから噛み付いてたってこと? ほっほっほ。3倍じゃよ3倍。3倍にもなるんじゃ。
下手すれば5倍、いや10倍、もっといけば100倍にも
なるかもしれんのう。そうなったらどうするんじゃ? 思いつきの屁理屈で絡んで、どうにもならなくなったら茶化して煽るとかさ
おまえって生きてて悲しくならないの?
勝てない喧嘩なら最初からふっかけるなよ
その判断すらできないからいつもそんな惨めな人生おくることになるんだぞ