+ JavaScript の質問用スレッド vol.116 +
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-5のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。
回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は
http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。
>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止ではありませんが、ライブラリスレで聞くとより回答を得やすいかもしれません。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
テンプレ修正前のようなので追記します。
■
>>1の(9)
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
■
>>3のテンプレ案
http://jsfiddle.net/fH4cC/32/show/ ■諸注意
vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の質問は本スレッドで禁止されました。
同行為が確認された場合は不要な争いを避ける為、スルーすることを推奨します。
ライブラリの質問はライブラリスレへ誘導してください。
URLの?以降の文字列をJavaScriptで取得する方法はなにかありますか?
テンプレ直される前に荒らしが自分で建てちゃったんやな
はえーよ
ようやくここが使われるのか
1乙
前スレ、mouseenter/leaveなんていうイベントがあるなんてしらんかった〜
mouseover/outでわざわざ子要素判定やってたわ
前スレ
>>994 html、cssともにダブルクォーテーションを半角にし、
スタイルシートの部分をstyleタグでhtmlに入れて試してみてください
dom要素を
同時に二つの親にappendした場合、
どうなりますか?
聞く前にやれ
どう考えても自分でやるほうが早いだろ
>>19 知らないでいるよりはいいと思うけど、人それぞれかな
lodashのコールバック関数内で、呼び出し元関数のthisを使いたい場合は
やはりselfなどに代入してクロージャにするのでしょうか?
>>14 確かにjQueryなら問題ないね
一応、コードも読んだけど、代替コードがちゃんとあったから
また、この流れか
スルーすればいいと思うよ
勝手に決めた自分ルールを押しつけてくる奴がいるので。
>>23 lodashは大抵のメソッドでthisを指定できるようになってるだろ
分かったら今度からはライブラリスレ行けクソ
まじですか?bindじゃなくて?
わかって質問してるんだと思うよ
思うのは勝手ですがそんな意味のないことはしませんよ
単にこっちのスレの方が回答率が高いのでそうしてるだけです
向こうでlodashの質問に回答が来るようになれば向こうに行きますがそれまではこっちでします
forEachなどの[thisArg]ってのがそれですね
知りませんでした
ありがとうございました
>>33 ライブラリスレでlodashに回答した人はいたがな
お前がそう思うのは勝手だが、それをとがめる人がいるのも事実だから無駄な反論はするな
>>35 反論するなと思うのは自由ですが俺には関係ないからこっちでします
お前こそ無駄なことをぬかすな
本当に知らない人もいるだろうから、初めだけ
>>5で誘導しておいてそれ以降スルーが最良っぽい
せやな
勝手にすればいいです
自由ですので
「自由=何をやってもいい」と思っている辺りは傍若無人という言葉がピッタリだな
2chにマナーなんか求めるなよ
いやそもそも誰かがテンプレに勝手に書いただけなので関係ないですし。
傍若無人なのはどっちでしょうか
ライブラリ質問禁止の流れは前スレを見ればわかるはずだが、何を言っても無駄だろうな
自分の行為が周囲に迷惑をかけている自覚もないようだし
前スレでライブラリ質問禁止にしようと決まった途端に、誰かがライブラリ質問許容するこのスレを立てられた
>>5が付け足し的な書き込みになっているのは
>>1のせい
決まったってwwwww
勝手に決めただけだろそれ
>>1がこのスレを立てたのは間違いなくライブラリ質問を禁止されたくなかったからだろう
だから禁止とかどうでもええやろ
お前らに出来るのはお願いだけだ
>>3の関連スレのURLが古いのはそのせいか
リンク飛んでも古いので何かと思った
そんな目的でスレ立てるやつなんていねーだろw
テンプレに何を書いてようがもともと関係ないんだから
スレ立てた目的は知らないが恐らく慌てん坊だんたんだろうな
荒らしが立てたスレなら使用せずに立て直した方がいい。
勝手にしろよw
馬鹿すぎワロタ
・テンプレ修正されてから約7時間後にこのスレが作成された
・テンプレ修正前のまま作成された
・このスレが作成された当時の前スレの最終書き込みはテンプレ修正案のレス番(305)
・前スレが305までしか消費されていない時点でこのスレが作成された
慌てん坊が立てたとはとても思えない
どうぜここでもテンプレ修正された直後に修正前の新スレが立てられるんだろうから、
その時点で削除依頼を出しておくのも一つの手だな
無駄な行為だから止めるけど好きにすればいい
俺はテンプレに何の拘束力認めないから何が書かれてようが関係ないし
正直読んですらいない
関係ないならもう発言しなくていいよ
unixタイムをyyyy/mm/dd hh/mm/ss形式にしたい時は
それぞれの数値を.getFullYear()などで取得して文字列を組み立てるしかないのでしょうか?
もっと簡単な方法ありませんか?
58 :
Name_Not_Found:2014/05/31(土) 08:29:47.82 ID:1Kus3Iv9
スマホでINPUTタグのテキストをタップした時に選択状態にしたいんですが、
<input type="text" value="aaaaaaaaaaaaaaa" ontouchstart="this.select();">
ってしても選択されません。
ontouchstartイベントが発生していることは確認してるのですが、
this.select()がうまく動いてないようなんです。
スマホではこの関数動作しないのでしょうか?
何かアドバイスくださいよろしくお願いいたします。
>>57 "Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist"
「コードに関する質問を投げるときは、問題についての最小限の理解を必須とする。
何故動かないか?予期される結果は?などを記しなさい」
要するにただ何々ってどうやんのー、みたいな丸投げ的な質問はアウトってことだ
何々をやる目的でこんなコード書いてみた、ここはこの理由からこうなる筈なのに、なんでこうなる?
のような質問ならオッケー
ありがとうございました
62 :
Name_Not_Found:2014/05/31(土) 09:36:30.20 ID:1Kus3Iv9
>>59 onclickでは動作しませんでした。
スマホからなんでクリックイベントは発生しないんじゃないんでしょうか?
>>58 select()後にpreventDefaultしてみたら?
65 :
Name_Not_Found:2014/05/31(土) 11:37:54.16 ID:1Kus3Iv9
>>63 動作しませんでしたorz
>>64 これは知りませんでした
ありがとうございます。
うーん
そもそもスマホでINPUTタグのテキストを選択状態にすることってできるんですかね?
皆さんの環境でできるんであればできた、と言って欲しいです。
それと、動作確認のために、ソース修正→サーバにアップ→手元のアイフォンで確認って感じで確認してます。
かなり面倒臭いんですが、普通はPC上でエミュレータ使って確認してるんですか?
すっごい初歩的な質問ですが
x.powやx.lengeなど
xより下のやつの名前はなんですか?
メンバー。
さらに関数ならメソッド、関数以外ならプロパティ。
>>65 俺はPCに検証用のサーバー立ててWi-Fi経由でアクセスしてる
普通にサーバー上にあるファイルを編集すれば
そのまま携帯で見れるだろう。
70 :
Name_Not_Found:2014/05/31(土) 12:51:55.69 ID:1Kus3Iv9
>>68-69 なるほどありがとうございました。
>>65の件はいったん忘れてください。
選択状態にはなったんですが、なんというかテキストのメニュー(コピーとか)が出ないんで、
たぶん無理っぽいです
>>66 ありがとうございます
例えばGETbyelementidは要素を返しますがこれはメゾットですか?
>>71 > これはメゾットですか?
いいえ、一文字間違っています。
リゾットです。
Date()は時刻を文字列で返す関数としても動作し
new Dateでオブジェクトも作成できます
なんなんですかこれは
・関数としてもコンストラクタとしても動作する関数の名前
・どうやって作成するのか
・とういう時に使うのか
疑問点は以上です
Date()の関数としての使用ははっきりいって分かりにくいし
メリットが見当たりません
みなさんありがとうございます
>>79 > ・関数としてもコンストラクタとしても動作する関数の名前
全ての関数
> ・どうやって作成するのか
関数宣言、関数式
> ・とういう時に使うのか
インスタンスが欲しければ、new演算子を使い、不要なら関数呼び出しを使う
アスペは答えんな
ちがわねーよカス
いい加減、他人の質問に横槍入れるのはやめろよ
質問者本人が意義を唱えるならともかく、赤の他人が質問内容を勝手に想像して擁護するとか意味がわからん
頓珍漢なエスパーだな
俺は質問者本人ですが?
Dateを普通の関数としても使えるようにした理由を聞いているんです
俺は分かりにくいしクソだと思いますが、合理的な理由があるなら教えて下さい
>>87 質問者本人なら名前でわかるようにしとけよ
そんなことは分かる必要もありません
エスパーしなきゃいいだけのことです
>>90 質問者本人か通行人かわからないのなら質問内容は
>>76と判断するけどね
他の書き込みはどっちかわからないんだから
おそらく「コンストラクタが普通の関数としても使えたらいいんじゃね?」
的な発想で作られた過去の遺物ですよね?
なので使わない方がよいと思います
解決してよかったね
異論があれば受け付けます
解決したならいいんだけどさ
質問内容がバラバラだと始めに曖昧な質問をした分、回答側が情報不足でいつまでたっても明確な回答が得られない事になる
この状態でエスパー回答せずにどうやって解を導き出すんだろう?
スルー力検定でもやってるつもりなんでしょ
そもそも、エスパーでなければ質問者が解決したとはわからない
別に目的があるんだろうな
ねーよww
陰謀論者乙
真面目に質問しているとして、自分の発言が首を絞めている事に全く気が付いてないみたいだね
この手の無自覚な人が一番やっかいなんだよね
い、陰謀…?
この質問者の行動理念は理屈じゃなく感情だな
非論理的だから論理的に読み解こうとする程、はまると思う
小さな子供を相手にしていると思うぐらいでちょうどいい
いやしょうもない評論はいらねーからw
分かるなら答える、分からないならスルーする、それだけのことが何故できないのかなぁ
lodashをかなり拡張しているのですが、
将来的にlodashサイドで関数が増えていった時に
関数名がバッティングしたらどうしようという不安があります
バッティングしたら例外を投げるなどの処理をしたいのですが、どうやればいいでしょうか?
mixin側で重複チェックをやってくれればいいのですが・・
>>104 別にlodashに限る必要がある話でもないね
その種の問題は、一般にライブラリ(lodash)のオブジェクトを
prototypeに持つようなオブジェクト作れば解決できるものなのかな?
>>58 遅レスだけど、iphoneとかはいきなり結果に繋がるfocusやselectだけ呼び出しても期待した動作をしてくれない。
これはイベントが順番に呼び出されていないと、正規の呼び出しじゃないと判断して正規の動作をキャンセルするから。
つまり普通に呼び出される時と同じようにtoutchstartから順番に呼び出せば良い
中級者レベル(domやプロパティ)くらいでおすすめの本を教えて下さい
オライリーJavaScript第六版
めぞん一刻です
jqueryでもプラグインの間でバッティングは起きえますが
そういうのどうやって回避してるんですか?
こうやって自治厨を気取った荒らしに荒らす名分を与えるから
テンプレに何かを禁止する文言を書いてはいけないと言ったのです
何故学習しないのでしょうか
最近、荒らす人は同じ人ばっかりだな
自演もしているあたりがいやらしい
最近も何も前大暴れしてたのと同じでしょ
そして
>>118もそのその登場人物の一人なんだろうな。
またこいつレスしてるよ。無視できねーのかってねw
プログラム板がIDつきになってだいぶ平和になった
あっちで暴れられなくなったひとがここやUNIX板で暴れてる感じ
自己紹介かね
以前誰も立てないから自分が立てた
テンプレから禁止条項を一切外したスレはきわめて平和的でした
自治厨荒らしが何よりも癌なのです
ここはプログラム板に移行した方がいい気がする
id出せば少しは平和になるかもね
キター
どうでもいい
どうでもいいなら黙っとけ
論理的な人は重複スレを作らない
そもそも、ECMAScript だけでは他のあらゆるJavaScript APIを含まない話になるから、Web制作を語れる場とはいえない
純粋JavaScriptという言葉から見ても全然わかってないんじゃないか
純粋JavaScriptスレはこのスレからテンプレ流用した劣化コピー
ライブラリ以外の話をそちらに誘導する為に自治房が立てたスレなのに、どの口が自治房を語るというのか
まーたアホエスパーか
誰が何のために立てたのかは知らないがJavaScriptだけの話をしたい連中にはうってつけだろ
あっちいけよシッシッ
別スレに誘導が自治行為でないと本気で思ってるんだな
ライブラリの話題出すなって発狂してる連中に「じゃああっち行けば?」って言ってるだけ
発狂さえしなけりゃこっちにいてもいいよ
%は余りを算出する記号ですが
このような計算を、
加算、減算、乗算、除算のような呼び方でいうと何ですか?
>>136 それ自分の気に入らないコメントを排除する自治行為でしょ
自分だけ例外だと思ってるのね
正当な自治行為には何の問題もない
ライブラリの話題に文句を言っている連中には正当性がない。
「自治厨」と呼ぶのはそのため。
俺が批判しているのは自治厨
自分だけに正当性があると妄信してるのか
あのスレに誘導が正当性がないことは既に証明されているが、
頭の弱い子のようだからその辺にして差し上げろ
自治厨幼稚すぎワロタ
相手にするのもアホくせえわ
その有名人とやらは誰か知らないが、
書いている内容に対しては
お前がそう思うならそうなんだろうお前の中ではな
としか言えないな
反論する価値もない
テーブルのカラムの幅を、日付がちょうど入るくらいの幅にしたいですが
フォントの大きさが不定だとすると、css内でpxで指定することができません
そこでJavaScriptでやろうと思います
どういう方法でやればいいでしょうか?
mizchi知らないのはモグリ
世界的に有名なのか?
152 :
147:2014/06/02(月) 16:22:53.17 ID:???
CSSにemという単位がありました
ありがとうございました
>>149 海外のプログラマーもmizchiのブログをチェックするぐらい有名だし
mizchiが働いてる企業も有名
mouseoverなどが設定されている巨大なテーブルを表示したら
既存のpopoverなどの動作がすごく遅くなりました
どうしたらいいでしょうか?
ちなみに巨大といっても200行くらいです
jqueryプラグインなので内部で何してるかしりませんが
mouseの動きに追随して行の色が変わるのでmouseoverと思われます
そのプラグインを使わない
自分で修正したりカスタマイズしたり検索して調べられない人は人様のプラグインを使うべきではない
テーブル毎に設定しているmouseoverから
ひとつの要素にmousemoveを設定して、マウス座標からマスの位置を計算してみてはどうでしょうか
>>157 mouseoverも一つの要素で十分だよ
159 :
Name_Not_Found:2014/06/03(火) 00:51:23.35 ID:9pecWuwK
質問です。
オブジェクトのプロパティを変えるメソッドで this.someProperty = someValue ってやるみたいに、
オブジェクトそのものを変えるメソッドを定義しようとしてthis = someObject ってやったら
上手くいきませんでした。
どのようにすれば上手くいくのでしょうか。
そのメソッドからは新しいオブジェクトを返して、
呼び出しもとでそれを上書きしたい変数に代入する
ライブラリ関連の質問は、ライブラリ用のスレでやるべき
その方が、情報が分散しないので調べやすく、効率もいい
このスレで、ライブラリ関連の質問を扱う、利点がない
情報を分散させるな
自分を情報に適応させればいいだけ
>>160 それだとオブジェクトが複数の場所から参照されている場合に同期しなくなる
>>159 一般的には
元のオブジェクト A を参照するオブジェクト B を作って、
(1) コード内で A を利用している所はすべて B に置換
A へのメンバアクセスはすべて Bを経由
(2) 「オブジェクトそのものを変える」ときには Bの中のAへの参照を別オブジェクトに変える
具体的には
(1) には prototype 継承が利用できる
return new A
を
B = {}; B.__proto__ = A; return B に変える
その場合、 (2)も単に B.__proto__ = C
(__proto__ 未サポート実装にも対応させる場合は等価なコード 以下略)
スウィフト登場でJavaScript死亡って聞きましたがマジですか?
>>157 行の高さが固定ではないので計算が難しいですが
固定にしたら計算量を減らせそうです
ありがとうございました
JSはlodashの機能をネイティブに取り込んでいったらまだまだ戦える
166 :
Name_Not_Found:2014/06/03(火) 16:16:11.01 ID:VSsQ6kDA
>>162 なかなか手間が掛かるんですね……
ありがとうございました!
Swiftは構文がCとは大分違ってて若干気持ち悪いな…
JavaScript以外はTypeScriptがあれば十分だ
ここに長くいる人に質問なんだが
今、XMLHttpRequestで今まで経験した事ないバグに悩まされている…
それでここで過去に同じような報告あったか知ってる人いないかな?と思い投稿に至る。
バグは条件が決まってて…説明長くなるけどすまん
まず、ロリポップのサーバーでしか起きない。
自分のPC上に構築したローカル環境と無料サーバーatpagesでは起きなかった。
プログラム構成は
AファイルからJavascriptでXMLHttpRequestを作り、
XMLHttpRequest.sendのPOSTで同じディレクトリにあるPHPにデータ送るだけ。
送るデータは「<img src="../" width="" class="" alt="" />」この文字をencodeURIComponentでエスケープした物。
発生するバグは上記のデータ1つだと正常にPHPが呼ばれるけど
「<img src="../" width="" class="" alt="" /><img src="../" width="" class="" alt="" />」のように2つ以上にすると
XMLHttpRequest.statusに「403 サーバーからアクセスを拒否された」が返ってきてPHPにまでデータが届かない…。
それで色々試した所、上のタグの「../」部分をどちらか片方だけ返ると403にならないで200(正常)になることが判明。
例えば「../」ではなく「.,/」(ドットを1個カンマに変更)に変えるとかで動くんだ…。
じゃあと思いimgタグとか外して「../../」とかにてもバグらない。
どうしても上のimgタグ2列以上のデータのままじゃないとバグらない不思議。
ドットが悪いのかと思い、ドットを正規表現で「%2e」に変換しても何故か403!
しっかり変換されてることは確認済み。
送信する文字数過多でサーバーからはじかれてる?とも思ったがこれは大丈夫だった。
「11111111111111111111」というデータを上のバグるデータの8倍の長さで送信したけど403にはならなかった。
ブラウザはIE8、Chorme34.0.1847.137(最新)、Firefox29.0.1で試したが全部同じ
実データはバグるパターンのデータが必要なので悩んでる・・・。
どうも一定条件そろった時だけ出る未知のバグな気がして相当悩んでる・・・。過去に同じ事で悩んだ人ここにいなかったかな?
現象見るとサーバサイドの問題に見えるけど
webサーバのエラーログ見れるなら見てみたら
170 :
168:2014/06/03(火) 19:45:11.27 ID:???
>>169 やっぱりサーバーっぽいか…
今確認したらHTTPリクエストのログまでは見れたけどエラーログまで見る機能はないっぽい…
HTTPリクエストのログの方にも403が表示されてるだけで情報となりそうな物はなかった
ちなみに今妄想で疑っているのが
ロリポップサーバーだけウイルスチェックフィルターみたいのがあって送信されてくるデータをチェックしてて
下のimgタグ2個以上の内容が偶然そのフィルターにひっかかるのかなーとか思ってる…
俺もそう思った
変な攻撃と思われてるのかも
>>170 適当なロリポ鯖に「?a=../../"""」でアクセスしてみると403になるな・・
他にも?a='--でもなった
とりあえずWAF設定OFFにしてみろ
なにかしら他の形式(Base64とか)にエンコードして、サーバ側でデコードするとかはできないん?
>>172 おおおおお!!ずばりそれだ!助かった!
WAFの存在知らなかったわ…そして設定変更できるのも今知った…こんな機能があったのだな
WAFの所にもログ表示があって見事に弾かれてた…恥ずかしい限りだ、、
それにしてもURLエンコードかかってる状態でも弾くとはなんて強力な機能
ちなみに「../ ../ w>」でも「%2e%2e%2F%20%2e%2e%2F%20w%3E」でも弾かれる
原因わかってスッキリした
みんなありがとう!
>>173 エンコードしても弾かれるんだこれ
でも修正案のヒントになったのでありがとう!
引っかかるデータを一時的に全角文字に変換しPHP側で半角に戻すやり方おもいついた
WAFをONのまま運用したほうがセキュリティーは高くなるし
お騒がせしました
twitter.comではconsole.logが使えないんですけど
たぶんwindow.consoleを上書きされてるからなんでしょうが
これを使えるようにする方法を教えてください
質問です
re =RegExp('a|b|c')
while( re..exec(str) )でマッチした部分がaだった場合のみreplaceする方法ってありますか?
execの結果を利用できると助かるんですが
str.replace(/a/g, 'b');
>>176 var str = "abcdef";
var re = RegExp('a|b|c') ;
var func = function(str) {return (str == "a") ? "0" : str};
str = str.replace(re, func); // str => 0bcdef
>>178 冗長で気持ち悪い。
var str = "abcdef";
str = str.replace(/a|b|c/g, function(ch) {
return (ch == "a") ? "0" : str;
});
マッチした部分がaだった場合のみなのにaもbもcもマッチしてないかそれ
>>179 わかりやすさ優先させた
お前こそなんでstr返してるんだ
>>181 元のコードがわかりにくいから間違えたw
近い場所で同じ変数名使いまわすんじゃねーよ。
var str = "abcdef";
str = str.replace(/a|b|c/g, function(ch) {
return (ch == "a") ? "0" : ch;
});
183 :
176:2014/06/04(水) 01:19:36.51 ID:???
>>177-182 ありがとうございますreplaceの引数の関数でこんないろいろできるとは知りませんでした
こっちでやってみます
Greasemonkey で Web版Twitterのツイート内容の変換を試みています。
$("body").on("mouseover","div.ProfileTweet.u-textBreak.js-tweet.js-stream-tweet.js-actionable-tweet", function(){
var elm = $(this);
elm.html( replaceAll(elm.html(), wordMap) );
});
//replaceAll は自作関数です
各ツイート(後からAjaxで追加されたものも含む)の変換は mouseover で発動します。
ただ本当にやりたいのは追加されたら勝手に発動して欲しいのです。
タイマー以外のスマートな方法で実現できないでしょうか?
>>185 普通にDOMの MutationObserver でできない?
developer.mozilla.org/ja/docs/Web/API/MutationObserver
に例が載ってるよ
var tweetSelector = "div.ProfileTweet.u-textBreak.js-tweet.js-stream-tweet.js-actionable-tweet";
function twitterTransform(elm){
elm.html( replaceAll(elm.html(), wordMap) );
elm.click(function() {
window.open("
https://twitter.com/"+$(this).attr("data-screen-name")+"/status/"+$(this).attr("data-item-id"));
return false;
});
}
$(tweetSelector).each(function(){
twitterTransform($(this));
});
new MutationObserver(function(arr,mo){
for(var i=0; i<arr.length; ++i){
var children = arr[i].addedNodes;
for(var j=0; j<children.length; ++j){
twitterTransform( $(children[j]).find(tweetSelector) );
}
}
}).observe($("div.GridTimeline-items")[0], { childList: true });
>>186 ありがとうございます。できました。
単語置換の他にツイートクリック時に別タブで開けるようにもなりました。
すいません便乗ですいません
twitterにajaxで取得する場合って秒数は1秒ごとってやばいですか?
>>188 TwitterのAPIはそもそも回数制限あるだろ
jqueryで、削除時ハンドラみたいなことが出来ることを知りました
$.when($('#test').remove()).then(function(){
console.log('removed');
});
$('#test').remove();
という感じに使えます。これって内部的にどういう処理してるんですか?
なんか思ってたのと違ったようです
失礼しました
ある要素が削除された時に指定したコールバックを実行する
ってやりたいんですが、どうやればいいですか?
>>192 html
<div id="test">
<div id="hoge">hogehoge</div>
</div>
js
$('#test').bind('DOMNodeRemoved',function() { alert(1); });
// $('#hoge').remove();
こんな便利なイベントがあったんですね
ありがとうございました
DOMNodeRemoved、またブラウザ依存しそうなイベントだなw
===を使うのは、比較対象が引数など型が自明じゃない場合だけの方がいいですか?
それとも必ず===の方がいいですか?
>>196 面倒なので全部===にしてるな
===だと都合が悪いときだけ==にする
のようなやり方だと都合が悪いケースってあるのかな
198 :
Name_Not_Found:2014/06/05(木) 00:30:16.62 ID:aWllgglZ
var array =[];
array[5] =[a];
if(array[3][0])←これやるとエラーっちゃうので困る
if(array[5][0])←エラーらない
@---if(array[3] && array[3][0])←エラーらないけどなんか長い
@の条件分岐をキレーにする方法ってないですかい?
>>198 var array=[];
array[5]=['a','b','c'];
console.log((array[3] || [])[0]); // undefined
console.log((array[5] || [])[0]); // a
>>198 そういう関数作っちゃう
var check = function(arr) {
for (var i=1; i<arguments.length && arr; arr = arr[arguments[i++]]){}
return arr;
};
var array=[];
array[5]=['a','b','c'];
console.log(check(array, 3, 0)); // undefined
console.log(check(array, 5, 0)); // a
201 :
Name_Not_Found:2014/06/05(木) 01:11:59.90 ID:aWllgglZ
>>199 うおー頭いい
>>200 うおー超便利
これから頻繁に使うなら関数作ってチョコっとのときは|| [])[0]みたいなテク使わせていただきます
おまえらこりすぎ
var array = [];
array[5] = ['a', 'b', 'c'];
var a;
console.log((a = array[3]) && a[0]); // undefined
console.log((a = array[5]) && a[0]); // "a"
にしとけ
>>202は余計なvarが必要だが
>>199の[][0]は無くなる (範囲外アクセスがちょっと微妙だから…)
>>203 C言語ならともかくjavascriptでは微妙でもなんでもないが
>>197 漏れは違う型を比較しないから、いつも == を使う
=== だと型を調べたりして、遅くなるのでは?
>>205 >=== だと型を調べたりして、遅くなる
それ、逆だって
どっちだろうが型を調べる必要はあるだろ
=== は型が違ったらそこで終わり
== は型が違ったら更に型変換を試みるぶん遅くなる
>>197 型が自明でない状況を作らないから == は使わないな
そもそも、=== だと都合が悪い状況がないんだが…
ありがとうございます
クロックフォードに従い必ず===にしていたのですが、
よく知られたライブラリのソースなどを見ると==と===を使い分けているようなので
使い分けた方がいいのかな?と思ったのですが
使い分けなくてもいいですよね
メリットとしては、==を使っている時は「型が自明である」
===を使っている時は「変数が外部からやってきた」
というサインになり、少し分かりやすい、というものがあると思います
>>209 外部からやってきても型チェックや型変換で自明にする
そもそも、自明でないからという理由で何度も内部的に型変換を実行するのは現実的じゃないし、型変換のルールを全て頭に入れるのは面倒だったりする
HTMLタグの
data-***
という属性にデータを持たせたりしますが
この方法はブラウザ依存はないのですか?
配列の100要素すべてを、memsetのように一括で、
-1に初期化したい
普通は、ループを使うのでしょうが、
こういう感じで、簡単に初期化できますか?
arr.memset(-1);
>>211 HTML5をサポートするブラウザならブラウザ依存性はない
>>212 console.log( $.map(Array(100),function(n,i) { return -1; }) );
or
$(Array(100)).map(function(n,i){return -1;});
答えは
lodashを使う
でした
>>213 ありがとうございます
HTML4だと問題起きますか?
全く起きない。HTMLは当初から未知の属性や未知のタグは
無視すると決められている。
そうでなければ特定のブラウザだけ対応している
属性などというのが作れないことになる。
それにHTML5の仕様は過去のブラウザで問題がでないようにする
という現実主義で作られている。
たとえば、HTML5の<!DOCTYPE html>はIE6でも動く。
<meta charset="utf-8">もIE6で動く。
HTML5以前は本来なら<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">と
書かなければいけないものだった(charsetという属性はない。http-equivという属性しかない)
だがIE6ならびに当時使われていたブラウザが、charset属性を書いても動くという
仕様違反を利用してそれを仕様にした。
このように過去(主にIE6だろう)で問題ないように作られたのがHTML5なので
ちょっとやそっとじゃ問題なんか起きやしない。
>>212 lodashのtimesを使うのが一番短いかねぇ?
$.map(Array(100), function(){return -1})
$(Array(100)).map(function(){return -1})
_.times(10, function(){return -1}))
_.times(10, i => -1))
アロー関数が使えれば最後の行ぐらいになるが。
lodashでforってどうやるんだろうと思ってたけど
timesでやるのか〜
>>222 「〜の実装では問題ある」かもしれないが「HTML4仕様上は問題ない」
http://www.age.ne.jp/x/sf/HT/HTML/RFC1866J-1_0.TXT 4.2.1.宣言されていないマークアップのエラー処理(Undeclared Markup Error Handling)
HTMLのさまざまなバージョン間での実験や相互運用(interoperability)を容易にするために、
HTMLユーザーエージェントはそれらをHTML2.0に引き下げることによるHTML2.0の
スーパーセットをサポートします。つまり、開始タグや終了タグの中でのマークアップのように、
(generic identifier)が宣言されていないものはタグを無視します。宣言されていない属性も同様に扱われます。
不明な属性のすべての仕様(すなわち属性とその値)は無視されるべきです。
一方、宣言されていない実体はデータ文字として扱われるべきです。
lodashでwhileはどうやるんですか?
>>224 whileの仕様を完全に満たすものはwhileしかないだろw
つまり質問がおかしい。
(whileを使う?)何かをしたいという目的があって、
それを実現するのにwhileを使うかlodashのメソッドを使うかだろ。
いや、理解できんってw
lodashってのはそもそもforやwhileださくね?
そんなの使わずに関数型でいこうやってのが
開発の動機なんだしさ。
言葉そのまま受け取ると理解できないと思う
○○っぽいもの
という風に抽象化して物事を考える能力がないと厳しいかも
>>228 具体的なことを言っておいて、他人に抽象化させることを求めるなよ。
質問がおかしいって言ってるだろ?
質問する側が、抽象的な質問をしろって言ってんの。
whileをしたいわけじゃなかったら、
具体的にやりたい事を書けって。
今まで何度もあった流れだな
抽象的な質問がある
(1)エスパー回答者が回答する → 解決できなければ質問者は(心理的に)お礼を言って去る → 独自に調べ、レベルアップしてからまた質問する
(2)エスパー回答者が回答しつつ質問返しする → 解決できなければ質問者が質問を追加する → 多くの場合(1)へ
(3)アスペ回答者が回答無しで質問返しをする → 質問者が(初心者なので不十分な)追加質問をする → アスペ回答者が、具体性を求め質問返しをする → 以下ループ
(4)(3)の途中でエスパー回答者乱入 → (1)、(2)へ
(5)放置、回答者現れず → 質問者が自身の質問方法の悪さを自覚 → 質問者去る
(6)良質問なので即解決
大体このパターンで、プラス回答者同士の論争、みたいな
結局のところ、わからない質問があれば放置
というのが質問者にも回答者にも一番良い気がする
>>230 エスパー回答者はともかく、アスペ回答者とは?
質問が曖昧なら質問を返して具体性を求めるのは自然な流れだと思うが(上手く回るかは別として)
>>230 はエスパーが多い状況が望ましいと思ってるんかね
エスパーが多い => アスペ質問者は成長しない、普通の質問者もアスペ化
こういう流れになると、お人好しでない普通の回答者は去って行くんじゃないかな
あぁ、「わからない質問があれば放置」とあるからそういうわけではないのね。
それにしてもアスペ回答者なんて蔑称で表現するところに悪意を感じるけどね
放置しても「質問方法の悪さを自覚」してくれる事は稀だろうな
”回答への(他回答者の)指摘”を含めると結果的には
的外れ回答や間違い回答なんてほぼないから
わからない質問スルー、エスパー回答+補足質問返し
が一番効率良いと思う
質問者らが中級レベル以上を占めるなら、質問返しのループでも問題ないけど
そもそも中級レベル以上の質問者なら質問もより具体的になるし
やはり放置orエスパーがベストかなと
「エスパー回答+質問返し」は質問に答えず、迷走する事が多々ある
本質的には「エスパー回答」と大差ない
「質問返しのみ」がまだましだ
それで揉めるならそこからスルーすれば良い
面と向かって会議してるわけじゃないからラグが必ず生じるわけで
質問返ししてる間にエスパー正解答なんてざら
そうやってエスパーしてもらった質問者は、次回も要エスパーな質問をするんですけどね。
それって長い目で見れば効率悪いでしょ
初心者にありがちな「問題解決のためのワードそのものがわからない」状態
この問題は質問回答の回転率を上げることによって解決します
さらにその過程で回答者のエスパーレベルもアップし易くなりす
デキる初心者さんは自分の質問だけでなく他の質問者の質問にも注目します
そして新たに得たワードの検索結果を頼りに、知識と実践問題解決の経験を増やしていくことでしょう
その場凌ぎスキル目当ての質問者がいたところで何のデメリットもないのです
>>231 > なぜHTML4の仕様説明にHTML2仕様を持ってくるのだ?
”昔から" HTMLはそのように決まってるということだ。
HTML2の時代から、そうすべき(SHOULD)となっており、
そうすべきという通りに実装されているから問題が起きないといってるのだ。
なんで荒れてるんです?
無論lodashでwhileみたいなことをやる、という意味ですよ
>>242 > ”昔から" HTMLはそのように決まってるということだ。
それをいうなら HTML2,4 では拘束力のない推奨事項(SHOULD)だ
拘束力のない規定をさもMUSTであるかのように表現するのは好ましくない
(HTML3は調べてないし、未来永劫仕様が変化しないわけではない)
そしてこれは実装依存という事だ
仕様が実装を保証していないのだから「HTML4仕様上、問題ない」とは断言できない
一般的な解は動作要件となる実装で動作検証が必要になる
>>244 >拘束力のない推奨事項
RFC2119 のSHOULDはちょっと意味が違うよ
「特別な理由があるなら、規定に従わないことも選択できるが、云々」
言い換えれば、特別な理由がない限り、守ら*なければならない*
>>245 特別な理由が仕様に明記されているのだから、RFC2119 規定をそのまま当てはめるのは違うだろう
>>246 ああ、HTML4のSHOULDはその仕様の中で、実質的に
RFC2119のSHOULDとは関係ないよ
といった意味と同等の記述があるわけね
>>247 >ブラウザが独自拡張すれば、特別な理由はどうとでもなる
どうとでもなるとか、何でもありみたいな言い方は誤解され易いな
少なくともそういった独自拡張には、敢えて仕様と矛盾する道を選ぶなら
それなりに強い根拠や動機が要る、という暗黙の了解はあるんじゃない?
近頃の仕様はだいたい
独自拡張やるならやるで、ベンダプレフィックス使え、とか
メーリングリストに参加して議論しろ
とか、書いてあったりして予防線が張られてるな
>>249 XHTML1.0やHTML5では無理だが、HTML4の仕様には矛盾してないだろう
せめて仕様の文言に言及してから指摘してくれ
CSSで
pointer-events:none
を設定していたら
JavaScriptのイベントも起きないのでしょうか?
>>251 html
<a href="#">hoge</a><br>
<a style="pointer-events:none;" href="#">hoge</a>
js
$('a').mouseover(function(){ this.style.cursor = "wait"; });
あとこれも試しに
$('a').click(function() { alert(''); });
ありがとうございます
JSのイベントすら無効にできるんですね〜
イベントのガードに使えそう
>>247 >ブラウザが独自拡張すれば、特別な理由はどうとでもなる
机上の空論の話をするのはやめよう。
現実に存在するブラウザの話をしよう。
未知の属性は書いても無視されるから
問題にならない。
>>255 仕様と実装の違いを理解した方がいい
HTML4仕様の質問に実装の話をする矛盾に気が付くべき
>>256 話逸らすなよ。
未知の属性は書いても無視されるから問題にならないだろ。
問題になるブラウザは現存しない。
お前、頭固すぎ。
>>257 話を逸らしてるのはそちら
HTML4で問題になるかに対して実装の話を持ち出す無意味さに気がつくべき
度々いわれてるけど、仕様と実装の違いを理解してないんだろうね
そもそも、IE6のバグの影響でHTML4時代のブラウザではgetAttributeが正しく働かないから実装上も問題はあるんだけどね
実装の話をするにしても具体的なブラウザとバージョンを示して論ずるべきでしょ
未知の属性は書いても無視されるから問題にならない
問題になるというのなら、そのブラウザ名を言えばいい。
そもそも、最初の「HTML4だと問題起きますか?」は厳密にHTML4の仕様を聞いてる訳じゃなくて
IE6とかで問題起きますか?と聞いてるだけだとエスパーしてみる
仕様的な事だったら起きますか?ではなくありますか?だな
仕様も大事だが、IE6含む全ての主要ブラウザで問題無い事が確認出来れば問題無い
(IE6の確認は手間なんで俺はやらんが)
getattributeが働かないってまじですか?
jqueryはie6もサポートしていますが
attrは動かないんですか?
>>261 > ...IE6とかで問題起きますか?と聞いてるだけだとエスパーしてみる
> 仕様も大事だが、IE6含む全ての主要ブラウザで問題無い事が確認出来れば問題無い
> (IE6の確認は手間なんで俺はやらんが)
仕様の話は仕様書を読めば完結するからそこで話は終る
が、実装の話は自分で試さないと意味がない
自分で調べも試しにせずに「大丈夫なはず」と適当な話を主張するのは控えていただきたい
「HTML4を実装するUAで不明な属性は無視されるから問題ない」と主張するするならIE6だけじゃなく、HTML4仕様を実装している主要UA全てで問題ない証拠を掲示すべきだし、それは意見を出したあなたが掲示すべき事だ
>>262 IE7- の getAttribute はプロパティアクセスと等価となる
従って、element.getAttribute('data-*') はプロパティアクセスとして動作する
http://msdn.microsoft.com/en-us/library/ms536429%28v=vs.85%29.aspx > jqueryはie6もサポートしていますが、attrは動かないんですか?
jQueryは既知の属性は内部的に該当プロパティ名に変換する回避措置を導入しているはず
しかし、不明な属性には有効に機能しないので、jQueryでもこの問題を回避できない
element.getAttribute("class"); は比較的有名なバグだと思うけど、最近の人は知らないんだなあ
このバグの影響でほとんどの人は getAttribute を使わず、element.className を使ってた
今でも getAttribute を使う必要性はほぼないけどね
getattributeで読み取れないのにどうやって読み取っているのかが謎ですが・・
>>265 > これによると、jqueryはie7でもうまくやってくれるようです
"Of course it does not work." とあるようだけど
は?それは質問ですが?
>>268 回答も getAttribute の問題を解決するものではないでしょ
なんで??
どう見ても解決してるように見えますが
>>263が典型的な悪魔の証明やっててわろた
今時アホかよw
問題あるブラウザを言える人は
私自身を含めていませんでした。
おしまい
昔のIEはclassだけ特別扱いしてたってこと
だけどしらない属性は特別扱いする理由がないからgetAtrributeで取得できるわけだ
>>270 jQuery.data() は data-* 属性へのアクセサメソッドじゃない
jQuery独自の機能だよ
解決法としては一般的だけど、
>>266 では IE7- で data-* 属性にアクセスしていると誤解しているように読めたからね
274 :
こう:2014/06/07(土) 22:38:47.91 ID:???
>>273 You can use it with any data attribute, for example, if you had:
<div id="DivId" data-something="foo" data-somethingElse="bar">
You can get the data out by:
$('#DivId').data('something');
$('#DivId').data('somethingElse');
って書いてますが違うんですか?
IE7でとどうやるの?って聞いてるんだからIE7で可能な答え方をするのが普通の人間ですよね?
答えているのはアスペ回答者なのでしょうか?
>>275 IE7で解決は出来るよ
誤解しているように読めたから指摘したまでだけどそうじゃなかったのならすまないね
まあ、一部勘違いしている人が現れているみたいだけど
どういう誤解を?
IE7でもdata-*属性を何らかの方法で読めるからjqueryはこの機能を実現できたわけですが?
>>273 > jQuery.data() は data-* 属性へのアクセサメソッドじゃない
半分はずれ。
dataメソッドで読み書きするのはメモリになる。
ただしdata-*属性を読み取ることは可能。要するにdata-*属性は初期値だ。
だからdata-*属性をdataメソッドでアクセスできるかといえば半分正解になる。
dataメソッドはdata-*属性を書き換えることはできない。
どうしても書き換えたいならattrメソッドを使う。
attrで読み書きするのはタグの属性値。
data-* というのはHTML5からできた機能だが、attrメソッドでは
data-がついているからって特別扱いはしておらず、一般的な属性扱い。
だからdata-hogeを読み書きするにはattr('data-hoge')を使用する。
attrはHTMLの仕様で定められていないものを含めて属性値すべてを読み書きできる。
To set data:
$('#DivId').data('something', 'foo');
$('#DivId').data('somethingElse', 'bar');
とありますし、この説明からは複雑な挙動は読み取れません。
IE7でもattrを使えばdata-*属性に書き込みできるなら、
jqueryは内部でそうしているのでは?
つまりjqueryのdataを使っている限り、IEの挙動を気にする必要はないということでは
>>278 ごめん&ありがとう
確かに僕の認識が誤っていた事を実際に jquery-2.1.0.js で確認した
で、実際にどうやって取得しているのかコードを読んでいるけど、どうにもよくわからなかった
まだまだ精進が足りないなあ
わかった
jquery-2.1.1.js の3704行目か
// If nothing was found internally, try to fetch any
// data from the HTML5 data-* attribute
if ( data === undefined && elem.nodeType === 1 ) {
name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
IE7- は elem.getAttribute("data-*") でもアクセスできる
突き詰めれば、elem["data-*"] でもアクセスできるという事になるのか
なかなか奇抜な仕様だなあ
というかDOMのレベルではgetAttributeしか属性値を
取得する方法ないでしょ?
data()はjQueryの機能。
data-*属性はHTML5の仕様で自由に属性作っても違反にならないものとして
定義されただけで、昔から属性は勝手に作れる。(HTML的に違反になるだけ)
そして属性をJavaScriptから取得するメソッドは昔から変わらずgetAttribute
>>283 そうなんだけど、IE7- の getAttribute は DOM に準拠してなくて、プロパティアクセサメソッドだから data-* 属性は取得出来ないと思ってた
本当いつでもいつまでもIEは悩ましてくれる…IEがなきゃコードも大分スッキリできるのに…
どっちかと言えば上の実験の方が怪しいだろ
stackoverflowは質問者だけでなく数々の回答者のチェックも受けてるんだから
間違っていれば指摘されてる可能性が高い
いやじっさい IE7では俺の方でも試した
とれたよ
>>271 おまえは頭脳が間抜けなのか?
「悪魔の証明」はおまえの持論が証明できないことを表しているのだが
(せっかく、
>>263で悪魔の証明にならない自己弁護法を教えてやったというのに、それに気づかず悪魔の証明を持ち出すとは)
持論が証明できないから相手に反証してもらおうとはどういう理屈だ?
逆に聞くが、私が自己弁護に失敗したらおまえは反証してくれるのか?反証する必要もないとおまえは思わないのか?
あまりにもアホらしいので以降レスはしない
>>282 よく考えたら IE7- なら jquery-1.8.3.js を参照すべきだったね
結論としては、該当コードだけなら jquery-2.1.1.js と変わりなかった
■1772行目
// Try to fetch any internally stored data first
if ( data === undefined && elem ) {
data = jQuery.data( elem, key );
data = dataAttr( elem, key, data );
}
■1806行目
var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
>>288 IE7- は持ってなくて試せてなかったけど、getAttribute('data-*') は期待通りに動作するのか
出来ればでいいんだけれど、下記3パターンで試してくれると嬉しい
console.log(element.getAttribute('data-*'));
console.log(element['data-*']);
console.log(element.attributes.getNamedItem('data-*').value);
問題ないならこんな話が広まるはずもないんだから
何かはあるんだろ
>>290 3つとも値がとれたよ
(console.logなどという高級なものはIE7にはござらぬ…)
俺もその辺のjQueryのコードを見ていて、回避コードとか無いなあと思っていて
ググって出てきたのが
>>285 の前者のページ
ただ、両者の間には1年くらい間があるから、何か有ったのかもしれないけれど
>>292 ありがとう
やっぱり、IE7- は element['data-*'] でも参照可能なトンデモ仕様なんだね
getNamedItem が使えるのなら getAttribute に頼らなければ、仕様上は問題なさそう…と思ったけど、類似バグが合ったら嫌だなあ
何度もすまないけど、下記2パターンではどうだろう?
element.attributes.getNamedItem('class').value
element.attributes.getNamedItem('className').value
前者のみで期待通りに動作するのが好ましいのだけど
> (console.logなどという高級なものはIE7にはござらぬ…)
空気のように使っていて、忘れてたー
戯言だけど、console.log は早く標準化しないかなあ
乗りかかった船
>>293 前者は値がとれた
後者はelement.attributes.getNamedItem('className')の段階でnullだね
ちなみに getAttributeだと
alert(element.getAttribute('class')); // null
alert(element.getAttribute('className')); // class属性の値
chromeなどと逆か…
classとclassNameは昔対応した覚えがあるわ、いままでわすれてた
>>294 何度もありがとう
getNamedItem には getAttribute と同種のバグもなさそうだから、IE7- 対応を踏まえるならこの方法が最善っぽいね
面倒くせーな
ちょっとしたDOMアクセスもjquery使った方がいいってことか
'hoge_123'
のような文字列から数値部分を取り出す簡単な方法はありませんか?
var val = ('hoge_123'.match(/\d+/) || [])[0]; // val => 123
>>289 >
http://dic.nicovideo.jp/a/悪魔の証明 悪魔の証明(ラテン語:probatio diabolica)とは、「ある事実・現象が
全くないことを証明させてはならない」という論争上の原則の一つ。
概要と使い方
一般的に、「ないこと」を証明するより「あること」を証明する方が簡単な場合が多い。
例えば「未知の属性を無視するから問題ない。この点で問題が出るブラウザはない」をめぐって
「問題が出るブラウザがある派」と「問題が出るブラウザがない派」が対立した場合を考える。
(あとは面倒だから自分で単語、置き換えな)
ここで「ない派」がそれを立証するには、現在777万本以上存在する動画の中から屋外を映している
動画全てを探して閲覧し、その全てに幽霊が登場しないことを確認する必要がある。
対して、「ある派」が立証するには屋外で撮影された心霊フィルムや怪奇映像などの動画から一本探して示せばよい。
このように「存在する説」と「存在しない説」が対立した時、それらには立証する際の難易度に大きな差があることが多い。
そこで、こういった論争と証明について、その困難さなどを考慮すべきという原則を「悪魔の証明」と呼ぶ。
「ない」派が立証できないからといって、「ある」派が常に正しいとは限らないのだ。
要するに「無い(いない)ことを証明しろ!」は無茶振りである、というわけである。
末尾を指定するために
/\d+$/
の方がいい
ありがとうございました
複数のタブがあるモーダルウインドウを作成する場合、
全タブ分のHTMLを吐き出して、クラスの付け替えで表示を切り替えるのが普通ですが
イベントハンドラのセットも全タブ分を一度にやるのでしょうか?
一度に全部セットするやり方が、なんかイケてない気がしてきたのですが
その説明だけじゃどういうふうに実装するつもりかイマイチ分からないけど、
とりあえず親要素で受ければいいんじゃないの
>>297 str="hoge123"
num=parseInt(str.replace(/[^0-9]/g,""),10)
>>299 ないことは証明困難じゃなくて出来ないんだよ
「悪魔の証明」は裁判で生まれた原理だけど、「ないことは証明出来ない」が裁判の原則
裁判で「ないこと」を立証する人は一人もいないし、証明しようとした時点で負けが確定する
>>293 > やっぱり、IE7- は element['data-*'] でも参照可能なトンデモ仕様なんだね
これをトンデモ仕様だと思っているのなら底が浅いな。
昔を知らないってのはまあ仕方ないとして、
それには理由があるってことを考えないと。
互換性という重要な理由でこういう仕様になってるんだからさ。
IEの歴史は1995年からある。なんと今から19年前だ。
そしてネットスケープがJavaScriptを生み出したのが1996年3月
IEがJavaScript(JScript)を搭載したのが1996年8月。
そしてDOM Level 1は何年だと思う?1996年よりも
前だと思う? 後だと思う?
答えはなんと後。1998年10月なんだ。IE4がリリースされて一年後。
Windows 98に標準搭載されたために爆発的にシェアを伸ばしたバージョン。
当時はDOM仕様なんてなかったわけで、どんな実装でも間違いではない。
idやnameがelememnt.id、element.nameで参照できるように、
IEは(たぶんネットスケープもじゃないかな?)element.attr_nameでアクセスできるようにしただけ。
> element.attr_nameがelement['attr_name']で参照できるのは、
> JavaScriptの正当な仕様なのでこっちは突っ込むところではない。
だから仕様としては別にトンデモなレベルではなく、
またIE7でもサポートされてるのは、互換性という重要な問題に対応しているからに過ぎない。
ここらへんは経験をつんだ技術者ならすぐに分かることだよ。
>>306 うん。だから「ある」ことを証明したらあるってことなるし、
「ある」ことを証明できないなら、「ない」とみなすのが妥当ってことなんだ。
>>296 > ちょっとしたDOMアクセスもjquery使った方がいいってことか
その通り。
俺はgetAttributeよりも、attrの方が短い
(もちろんこれだけでなく、どんな単語でも短い)
という理由だけでjQueryを使うけどね。
DOMの仕様でgetAttributeって決まっちゃってるから
この名前が修正されることはないだろうし、
要素をリストとして扱えるのがjQueryの生産性が高い理由だから
DOMを使うならばjQueryを使ったほうがいいっていうのは
今後数年間変化はないだろうね。
>>308 > 「ある」ことを証明できないなら、「ない」とみなすのが妥当ってことなんだ。
そんな論理は裁判にはないよ。
ある人がある意見を主張した時、反論者は立証不可能な根拠を示すだけでいい
「立証責任」って言葉知らないかな?
ある現象を証明する責任は発言者にあるんだよ
あなたが「ないこと」を主張した時点であなたの負けは確定していた
あなたは「IE6ではgetAttributeを使っても問題ない」というように実装を限定して「ないこと」を証明すべきだった
同じ環境を用意するだけで容易に証明できるからね
それは
>>263でもアドバイスされてたけど、あなたは気が付かなかったみたいだね
> ある人がある意見を主張した時、反論者は立証不可能な根拠を示すだけでいい
それが出せなかったんだよね。
問題があるブラウザは存在しない。
反論者「問題があるブラウザがあるかもしれないじゃないか!」
そこで悪魔の証明発動。
問題があるブラウザをつけられうかどうかで話が決まる。
今のところ、問題があるブラウザは見つかっていない。
>>310 > あなたは「IE6ではgetAttributeを使っても問題ない」というように実装を限定して「ないこと」を証明すべきだった
話がすり替わっている。というはわざとだよな?
別の問題にするなよ。人間性を疑うわ。
>>255とか見てみろ
> 未知の属性は書いても無視されるから
> 問題にならない。
って書いてあるだろ。
誰がgetAttribute使って問題無いといったよ?
もっとさかのぼって
>>218のレス持ってこようか?
> 218 名前:Name_Not_Found[sage] 投稿日:2014/06/05(木) 20:52:28.89 ID:???
> 全く起きない。HTMLは当初から未知の属性や未知のタグは
> 無視すると決められている。
卑怯というか、思い込み激しいというか。
こういうやからは、どんどん話をずらしていくという
手段をとるから、最初らへんのレスを持ち出すのが
一番効果あるんだよなw
現存するブラウザでは、「未知の属性を書いても無視されるから問題ない」っていうのは
ちゃんと実装を「現存するブラウザ」に限定してるなよw
>>311 あなたは自分を客観的に見つめる術を身に着けたほうがいいね
問題があるブラウザは存在しない
⇒悪魔の証明によって、ないことは証明できない
あなたが「ないこと」を証明しようとしている時点であなたの負けは確定してるんだよ
立証責任の原則に則り、あなたは「問題があるブラウザは存在しない」を証明しなければならない
どうやって証明する?
問題があるブラウザは存在しない
⇒悪魔の証明によって、ないことは証明できない
⇒だから「無いことを証明しろ」といってはならない
って意味だってわかってるのかな?
悪魔の証明の意味すらわかってないんだなこいつ。
>>314 > ちゃんと実装を「現存するブラウザ」に限定してるなよw
そんな抽象的表現は裁判では通用しない
ブラウザ名とバージョンを明記しないと
>>315 無いこと証明しろって馬鹿なことを言い出したのはお前じゃん?
悪魔の証明の意味ちゃんとわかってる?
>>315 お前さぁ、無いことは証明するのは不可能だから
そんな要求を求めたらいけないってことなんだよ。
そういう場合は、あることを証明するのが簡単なんだから
あることを証明しましょうっていうのが
悪魔の証明の意味なんだよ。
現時点で、問題があるブラウザが見つかってないのから、
問題があるブラウザはないというのが結論なわけ。
今話題のSTAP細胞も信じてるんだろうなw
STAP細胞はあるんです。!
ないというなら、ないということを証明してください!
いやはや、低脳は低能。
うん。STAP細胞と同じで、
あるなら、あると証明すれば良い。
それができないなら、ないということでいいよ。
「悪魔の証明」を持ち出したのは
>>271 自分で墓穴を掘ってるだけ
「ないことは証明できないから自分は証明しなていい」のか
悪魔の証明の本質がわかってない都合のいい理屈だな
>>322 > 「ないことは証明できないから自分は証明しなていい」のか
いや、そのとおりなんだが?
(問題があるブラウザがある)とい言い出した人が
証明するのは当たり前の話。
お前、裁判で確実に負けるよw
頭のおかしい人はどこにでもいるという例 (どっちのことを言っているかは自分で判断しなw)
http://www.geocities.jp/mt_with_dog2003/risshosekinin.htm 「犬が山の自然環境を破壊してないことを科学的に実証しろ」と迫ってくる人達がいる。
唖然とするが、本人達は本気なのだ。無知蒙昧だと、ほっても置けない。だから、それについて記述することにした。
裁判で、ある事件が、何かが「ある」と「ない」が問題になった場合に、
原告被告のどちら側に証拠の提出を義務づけられるかを明確にしたものが、立証責任だ。
刑事訴訟では、検察官に立証責任がある。証拠不十分な場合は、疑わしきは罰せずで、無罪の判決がでる。
民事訴訟では、今まで平穏無事である状態を問題は何も「ない」状態とする。
この何も「ない」状態に対し、何か問題が「ある」と主張する人は、
その「ある」という証拠の提出が義務づけられる。
「ない」ことの証明は不可能なことが多いからである。
勘違いしている人が多いようだが、悪魔の証明は「悪魔が存在しない事は証明できない」を意味してる
「悪魔が存在する根拠が出てこないから悪魔が存在しない事は証明された」ではない
そして、白黒つける必要がある
裁判で用いられるトキ、
「証明ができない」という結論になると、
それは問題がないというふうに扱われれるということ。
通常、裁判ではないことは証明せず、あることを証明するもの
具体的なブラウザ名を述べてそのブラウザにおいての挙動を証明するのは不可能ではないのだから、悪魔の証明に引っかからずに証明することは十分可能
それをせずに相手に証明責任を押し付けるのはよろしくない
ぶっちゃけ俺は、未知の属性の取り扱いで問題があるブラウザがない。
ある言い張ってる奴は、言い張ってるだけで
何も証拠を持ってこない。
という今の状態のままでいいと思ってる。
俺はこれで困らないので、これで議論をやめようや。
俺は困らないし、お前も困らないだろう?w
(困るならちゃんとアクション起こせや。
問題のあるブラウザを持って来いという意味)
結論、未知の属性は無視されるので何も問題はありません。
まあ、「詭弁」で定義されたている事を言い出した時点で
負けは確定だったよなw
本人は詭弁を言っている自覚がなかったのだろうが、
これが詭弁と全く一緒のことをやってるとバラされた時点で、
自分の言っていた全ての言葉が詭弁だとみんな把握しちゃったんだから。
というか、言い方が正しくない
「未知の属性は無視されるので何も問題はありません」という神様でもなければ断言できないように全てのブラウザを知っているかのような発言がよろしくない
「俺は〜と〜と〜と〜のブラウザで道の属性が無視されることを確認したぜ!」なら有用な情報だけどね
具体性がないので信用できない
>>283 data-*
ってのはページ作者用ベンダプレフィックスみたいなものだな
無節操に属性作ると将来の仕様と衝突するかもしれない
未知の属性ってやつは、今は問題ないかもしれないが未来永劫に未知ではないから
避けれるなら避けた方がいい
裏を返せば、短命ページやテストページなら十分ありかもしらん
>>332 IE3〜
Netscape 4〜
Opera 3.0〜
Firefox 1.0〜
Safari 1.0〜
Chrome 1.0
悪いね。検証のために古いブラウザ持ってるもんでなw
で、反論は「ここに書いてないブラウザで問題あるかも知れないじゃないですか!」じゃなくて
問題があるブラウザを言うこと。
悪魔の証明ってまた言われるよw
>>344 だから、問題があるというのなら、問題があるブラウザを言おうよ。
証明責任ってそういうことらしいからさ。
第三章 新しい詭弁の特徴のガイドライン
http://ronri2.web.fc2.com/kiben13.html ゆえに、議論の一般的ルールとして、「ある」と主張した者が、それを先に証明しなければならないという暗黙の了解があります。
「あなたが先に『ない』ことを証明せよ、さもなくば『ある』のだ」と主張する詭弁を「悪魔の証明」と呼びます。
>>330 始めの方で反論したのは俺だが、俺は「問題がある実装がある」とは一言もいってない
HTML4仕様上、不明な属性は無視されることが保証されず、実装依存だ、と主張した
HTML4仕様に規定がないのだからそれは今も間違っていない
自分にとって未知のブラウザの可能性を踏まえれば、仕様に忠実であろうとすることも間違っているとは思わない
あなたが勝手にHTML4仕様を実装するブラウザの質問だったのではないかと憶測して、
あなたが勝手に「問題のある実装があるなら証明しろ」と一方的な意見を押し付けただけ
自己証明可能なことまで悪魔の証明を持ち出して証明不可能にしている人がいるな
どっちに証明責任があるかもわからずに
あるあるいっても誰も白い目でしか見ないのは当たり前。
>>338 > あなたが勝手に「問題のある実装があるなら証明しろ」と一方的な意見を押し付けただけ
それで問題がある実装はないのでしょう?
じゃあ、やっぱり「問題ない」であってるな。
>>341 私はそんなことは問題にはしていない
HTML4仕様の質問に対してあなたが実装の回答をしていたから指摘をしたまで
そして、あなたは実装の話を延々とし続けた
私からすれば見当違いの話をしているだけなので途中で切り上げたが
ガキの喧嘩だなw
質問の趣旨に沿った回答になってれば、こんなことにはならなかった
初めはまともだったのにな
ちょっと前にも出てたが、プログラミング板に移動しないか?
idが出れば多少はまともになると思うんだが
もはや何を言い争っているのか分からないが
論争の中であきらかになった事実もあるからいい
第三者が学ぶことができる
これが質問スレの意義だ
ここもid出ればいいのにな
id出る板に移転は意義があることだと思う
JavaScriptが文字列中に改行を含めることが出来ないのは何故ですか?
var str = "test
test
test";
のように表記できた方が便利なのですが
>>347 プログラミング板にもJSスレあるよ
IDが好きならそっちいけば?
ID表示して欲しいなら自治スレで提案して来たら良いだろ
ここで話す事じゃない
>>348 var str = "test \
test \
test";
>>348 まだ実装してるブラウザは無いけどTemplate Stringsってのがある
文字列リテラルでそのまま改行できない仕様になった理由は知らない
酷い自作自演を見た
質問を無視して自分の話したいことだけ話す奴は人間的に信用できないな
そもそも、こいつはいつ寝てるんだろう
確実に夜型
朝方〜昼間にかけては比較的平和だよ
357 :
ユカリス:2014/06/09(月) 13:07:00.19 ID:???
教えて下さい
highslide.jsで画像を拡大縮小しようとしているのですが
IEでは 上手く表示されたのですが
chromeベースブラウザでは 拡大されるはずが縮小して画面から消えてしまいます
虫眼鏡+を押すと元の画像に戻ります。
highslide.jsを諦めてlightbox_plus.jsにも挑戦したのですが、やはりchromeベースブラウザで表示すると
今度は、ブラウザ画面をはみ出して表示されてる画像は表示されません
IEでは表示されます。どなたか対応を教えて下さい
指定したoptionをselectedにしたselectタグを生成する簡単な方法はありますか?
結局自分でそういうjqueryプラグイン書きましたが
もっといい方法はありますか?
指定する方法には
名前で指定する方法
indexで指定する方法
などが考えられるが?
もっといい方法には
そのプラグインよりもっとよいプラグインを使う方法
プラグインを使わないでjqueryを使う方法
jqueryを使わない方法
などが考えられるが?
「もっといい」の定義がわからない
定義ww
ネトウヨかよ
>>361 じゃあお前答えてみろよ
生成するにしても各ページ数個しか生成しないか
optionの個数が大量にあるとか
状況によって答えは変わる
1ページだけ1個しか生成しないなら手入力が最もよい方法になるかもしれないぞ
>>359 どういうプラグイン書いたのか分からないのに、「もっといい方法」と聞かれても...
ただ自分だったらこんな感じで組むと思う
function makeOptions(elmWhere, val2txt, valSelected){
for(var val in val2txt) {
var opt = $("<option>").attr("value", val).text(val2txt[val]).appendTo(elmWhere);
if (val == valSelected) {
opt.prop("selected", true);
}
}
}
var selectElemnt = $("<select>").css("width",100).appendTo("body");
makeOptions(
selectElemnt,
{
"apple": "林檎",
"orange": "オレンジ",
"banana": "バナナ",
},
"orange"
);
364 :
Name_Not_Found:2014/06/09(月) 18:18:48.94 ID:Var8YR96
http://js.studio-kingdom.com/jqueryui/interactions/draggable Edge Animateで、jQuery UIを使ってDraggableオプションのsnapの「吸着させたい要素をセレクターで指定」
ができなくて困ってます
他のオプション(containment)やsnapのtrue、falseで指定する方は機能するのですが、
これはどう書けばいいんでしょうか
function init(){
sym.$('Rectangle').draggable({
containment : sym.$("Rectangle3"),
snap : sym.$("Rectangle2"), //←Rectangle2へ吸着させたいがさせられない
snap : true
});
sym.$('Rectangle4').draggable();
}
>>364 snap 型:Boolean or Selector 初期値:false
〜.draggable({ snap : "#Rectangle2" })
コード貼る時は最小限のコードを貼れ
snapを何個も入れるな基本勉強しろ
>>367 sym.$(〜) とやらがjQuery Objectなら
snap : sym.$("Rectangle2").selector
でいけるんと違うかな。
>>367 冗長ですみませんでした
>({ snap : "#Rectangle2" })
これだとスナップされません…
>>368 ありがとうございました!!!
370 :
こう:2014/06/09(月) 19:51:22.91 ID:hT1tB7UB
373 :
こう:2014/06/09(月) 20:34:41.31 ID:hT1tB7UB
>>372 370です。
IEのバージョンは8です。
アマゾンの左のメニューのような物を作りたくて
onMouseover="openMenu(1)" onMouseout="closeMenu(1)"
function openMenu(n){
clearTimeout(CloseTime);
closeInstant();
if(n==1){
OpenTime=setTimeout('li1.style.display="block";',300);
}
if(n==2)…
}
function closeMenu(n) {
CloseTime=setTimeout('clearTimeout(OpenTime);',100);
if(n==1){
CloseTime=setTimeout('li1.style.display = "none";',300);
}
if(n==2)…
}
とやったのですが、メニュー間の移動をすると、移動先のメニューが出てきません。
clearTimeoutが効いていないような気がするのですが、初心者な物で良く分かりません…。
どなたか助けていただけませんか?
>>363 そのコードはよくない。
makeOptionsが仕事しすぎ。
* selectElementを作る部分(var selectElemnt = の所)
* optionsを作る所
* optionsの特定の所をselectedにする
この三つのコードに分けなさい。
>>376 一つの関数でやることは一つにするべきだから。
makeOptionsは明らかに無関係の二つの処理をしている。
そして無駄な関数を作ってしまっている。
この例では関数を使う必要はない。(jQuery標準関数だけで十分)
分けられるものは分ける。
ループでぐるぐる回す処理がある → お、ついでにここに処理入れちまえ。
これは悪いコードの作り方。
作った関数makeOptionsに汎用性がないのもダメな所。
これでは、関数の中を見ないと、具体的に何をやっているのかがわからない。
そして汎用性がないから使われることが少ない=覚える価値がないコード
こういうのは、処理を追う時にあちこち行ったり来たりしないと
何やってるかわからないコードになる。
そんな悪いコードじゃないでしょ...
なんだか小笠原流バナナの食べ方を指導されてるような気分
>>379 いや。悪いコードだよ。
仮にclassやtitleやを追加したい時どうする?
特定の部分だけにイベントハンドラを追加したい時どうする?
makeOptionsがブクブク膨れ上がるか、makeOptionsの
やり方とは違う形をした一貫性のない
つまり行き当たりばったりのコードが必要になる。
誰も文句が言えないような素敵なコードを
>>375が貼ってくれるそうです
そうそう、もう一つ。makeOptionsがダメな点、
optionsが順不同になる所だな。
>>377 抽象論ばかりで選択基準が述べられてないようですが
>>375,
>>380 理屈はわかるが、そういうのは必要になってから分ける
というlazyなやり方もありなんではないか?
分け方の粒度は大きい方がいいこともある
385 :
Name_Not_Found:2014/06/09(月) 22:57:14.37 ID:/RPVwreK
与えられた数だけ増やす関数を返す関数を作ろうと思い、
function a(arg1){return function(arg2){return arg2 + arg1;};};
a(1);
としたところ、function(arg2){return arg2 + 1;} ではなく、
function(arg2){return arg2 + arg1;} ができてしまいました。
どうすればよかったのでしょうか。
>>385 var b = a(1);
console.log( b(3) ); // => 4
何したいか分からんが出来てるんじゃね?
>>386 a(1).toString() がそうなったんだろう
>>385 arg1の評価結果がソースコードとして適切に文字列化できない場合もあるため、
そういう仕様になってるのではないか?
>>386-386 ありがとうございます! 上手く行っていたんですね……
これ多分実行時にスコープチェーン辿るから結果的に1になるけど、参照してるのはあくまでarg1ってことですよね
難しい……
ひとつの文で同じjqueryオブジェクトを複数回生成することになる場合、
一旦変数に入れますか?入れませんか?
if ($(this)〜){
$(this).css〜
}
みたいな時です
現実的には体感速度の差は皆無に等しいので変数に入れなくていいでしょうか
何故ですか?
一時変数が増えるのでプログラムが読みにくくなるというデメリットがありますが?
デメリットが大きいなら入れなくていい。ケースバイケース。自分の頭で考えろ。
しね
>>396 俺と思われるので暴言を吐かないでください
ごめんなさい
>>394 その程度で読みにくいとは私は思わない
主観的な問題で唯一の解があるわけでもない
var $this = $(this);
こんな感じにしてる
一時変数がプログラムを読みにくくするのは、
それがどこで使われているか把握しにくいから。
つまり実際に使われているコードだけでは判断できない
そのスコープのコードが長ければ、その分使われているかもしれない部分が増え、可読性を低下させる
lodashで関数内部を更に関数に分ければ、そのような問題は解決できる
今回の場合はそれじゃ問題解決しないだろ
個々の関数内部で一回一回jQueryオブジェクト取得してたら意味ないんだから
>>402 素朴な疑問なのだが、何故そこでlodash?
JavaScriptを関数言語化する進化の鍵だから
406 :
371:2014/06/10(火) 16:32:22.31 ID:???
407 :
371:2014/06/10(火) 16:47:57.20 ID:???
domでobjectを指定してclick() → 無反応
objectを
>>371 の方法で指定して Play() → 無反応
でした
>>406 調べたら、別ドメインのswfをjavascriptから操作するにはswf側でそう宣言しないといけないらしい
(Weblioだとswfファイルのドメインが別れてる)
無理矢理だけどこんなのはいかが
var swfUrl = $('#audioEjjeNaviNx param[name=movie]').attr('value');
var match = /u=([^&]+)&mpf=(.*\.mp3)/.exec(swfUrl);
var mp3Url = match[1] + match[2];
$('<audio><source src=' + mp3Url + '></audio>')[0].play();
410 :
371:2014/06/10(火) 20:31:44.79 ID:???
>>408 さん
具体的なコードまで書いていただいて感謝の言葉もありません。
これは想像するに
(1)DOMで音声URLを取り出して、(2)正規表現にかけて分解して、(3)操作可能なHTMLタグとして埋めなおしているんですね
(2)(3)の知識がなかったので、本当にありがたいです
さっそく試してみます
411 :
371:2014/06/10(火) 20:55:21.16 ID:???
できたーーー!!!!! 感動
>>408さんにジャンピング土下座感謝です
辞書って万単位で繰り返し引くので、クリックの節約がものすごい差になるんです
いやー、わかってる人がやると出来るものなんだ
javascriptを勉強したくなってきました
412 :
Name_Not_Found:2014/06/10(火) 21:47:23.70 ID:KjvanZ0H
>>274,370,412
同じ質問を繰り返さないで
何度も繰り返せば答えが来るわけじゃない
>>390 > ひとつの文で同じjqueryオブジェクトを複数回生成することになる場合、
> 一旦変数に入れますか?入れませんか?
入れることもあるけど、その前に
> if ($(this)〜){
> $(this).css〜
> }
これ、怪しい臭がするな。
〜がわからんからなんとも言えんけど、
if ($(this)〜){ この行要らないだろ?
$(this).css〜 だけでいいはずだ。
これに加えてメソッドチェーンも使って、"正しくjQueryを使えば"
「ひとつの文で同じjqueryオブジェクトを複数回生成すること」は
ほとんど無くなるはずだ。
あほじゃねえの
いらないなら最初からいれねーよ
〜が分からんってそれならなんも言うなタコ
いやね。だからいると思っているのが勘違いだろって話。
だから勘違いじゃないんだよ
何で勝手に問題を変えるんだ??
意味が分からんわ
cssメソッドを使っているのも怪しくて
それ、CSSだけでやればいいんじゃないかって思うし。
>>417 「問題を変える」というのなら
そもそも問題が出ていない(〜で隠蔽されてる)
だから問題を出題してみってこと。
それほとんどは要らない行になるだろって話なんだが。
時々ナチュラルに馬鹿な奴がいるからびっくりする.わ
勝手にあやしがっとけや
問題を出題すれば解決する話なのに
なぜ問題を出題する方向じゃなくて
人を煽る方向に行くのか?
いや「jqueryオブジェクトを複数回生成する必要がある時にどうするか」という問題に対して
「必要ない」って、自分でおかしいと思わないの??
馬鹿すぎて逆にミステリアスだわ
「必要ない」って言ってないし。
「殆どの場合必要ない」って言ってるだけだし。
だから〜の内容を書いてみなさいと。
それ必要ないが答えじゃないのかってことなんだから。
気持ち悪いんだよ。普通オブジェクトを使用する前に
そのオブジェクト自身を検査することなんてやらないから。
コードスメルってやつだな。
バッドなコードである臭がする。
メソッドチェーン使えば同じjQuieryオブジェクトを
複数回生成することなんてほとんどないよな。
これが本当のアスペルガー症候群か
必要あるのは「大前提」なんだよ
個別のコードについて聞いてるわけじゃなくて、「そういう時にどうするか」と聞いているわけ
例、しかも省略しているコードに対して「必要じゃない可能性がある」って
自分でおかしいって分からんかな?
>>425 だからね。
滅多にないからこそ問題になるわけでしょ?
想像力が全くないのかな?
チミには?
大前提ねぇw
明日太陽が昇らなかったらどうするの?
みたいな話だな。
そんなことねぇよ。
無駄なことに力入れてるなよ。
挙げ句の果てに詭弁w
このレベルのアスペルガーとは絶対仕事したくないな
地雷ってレベルじゃねーぞ
ただ、コードが悪いんじゃないの?って
指摘しただけで、この騒ぎよう
そんなに気に触ったのかな?
まあ、普通、同じjQueryオブジェクトを
何回も生成することってないよな。
そんなことをしたくなるっていうのは
コードが悪いんじゃないの?
偉そうに勘違いな回答つけようとする人は何なんだろうな
空気悪くしたいだけか
>>414は
$(this).filter(〜).css〜
と書けば良いじゃんって言いたいの?
だから普通じゃないから聞いたんだよねぇ?
普通なら問題にすらならないよねぇ?
想像力って、分かるかな?
想像って出来るのかな?アスペルガーの人にも?
>>433 それもあるし、CSSを使う方法もあるし、
空のjQueryオブジェクトを使う方法もあるし、
cssメソッドの引数に関数を使う方法もあるし、
メソッドチェーンを使う方法もあるし、
いくつもやり方はあるよ。
だから同じjQueryオブジェクトを作りたいってこと自体が
悪いコードじゃないのかな。
>>434 どうしても、人の悪口を言うことしか
できないみたいねw
もう少し冷静になったら?
どうしても必要なんだって思いたいのはわかるけど、
俺からすれば必要ないことなんだよ。
それが力の差。
色々やり方があるんなら一時的に変数入れるやり方もあるんじゃね?
アスペルガーの人って算数の問題に対しても
花子なんて名前の子どもは普通いないって言うのかな?
一時的に変数に入れるってのは悪いコードでしょ。
だいたい動きが変わってる。
一時的に変数に入れた時の古いjQueryオブジェクトになってるわけで
それは最新の状態を反映していない。
動きが違う(古い状態を参照したい)ことを目的としているのなら、
それはただ変数に入れているだけじゃないのでそれは意味がある。
でもどっちでもいいような場合は、一時変数に入れるべきじゃない。
jQueryの話をしている人
VS
悪口を言うことだけになってしまった人
また頓珍漢来たぞこれw
JavaScriptの話をしない人は死んでください。
誰とはいいません。
汚いコードと言われたのが
そんなにショックだったのか?w
何度もjqueryオブジェクトを使う場合のもっといい例ってどういうものがあると思いますか?
例、挙げられないんすかww
そういう想像も出来ないクチですか
ちょw
お口チャックすかww
例を思いつく人は言って欲しい。
それがちゃんとした反論になるともうから
他人を煽るだけの奴はうざいだけで価値がない。
例も思いつかないような奴が文句抜かしてたのかよ
想像通りです
例が思いつかいんだよねw
誰もさ。(だから無いと言っていたのが正しい)
>>390 のようなコードを書かずに済む様に
$(this) の戻り値の仕様を、無いときはデフォルトの機能はするが何もしない
オブジェクトを返すように変更するってできるのかな?
あと、一般論的にライブラリをそういう風に設計するって悪い方法?
>>451 > $(this) の戻り値の仕様を、無いときはデフォルトの機能はするが何もしない
> オブジェクトを返すように変更するってできるのかな?
何を言ってるのかよくわからない。
この話?
http://api.jquery.com/jQuery/#jQuery > Returning an Empty Set
>
> As of jQuery 1.4, calling the jQuery() method with no arguments
> returns an empty jQuery set (with a .length property of 0). In previous
> versions of jQuery, this would return a set containing the document node.
訳
jQuery()を引数なしで呼び出したら、空のjQueryセットを返します。
var $obj = $();
$obj.css(〜) // 何もしない
自分が想像できないものはないw
なんというお粗末な知性だろうか
(何も言えないどうしよう・・・)
(そうだ!相手に考えさせちゃえ)
(自分も言えないが、相手を馬鹿にできるぞ!)
では実際のコードを少し変更したものを。
if ($.Hoge($(this).css('backgroundColor'))) === moge){
$(this).addClass('page');
}
$.Hogeは色情報を扱うjqueryプラグインです
背景色を正規化した上で比較し、クラスを設定しています
これをどう変えたらいいですか?
ちょw
ふたたびお口チャックすかww
フリーズww
メソッドチェーン(わらい)で何とか出来るんじゃないんすか
>>452 そうか、別に null 返すわけではないのか
if($(this)〜)を if($(this))と読み違えてた
何かおかしいなって思ったら
最初に「いや自分が間違えてるんじゃないか?」って思うようにすれば恥かかなくて済むよ
それがA級プログラマーの思考習慣
>>456 それは設計がおかしいね。HogeがjQueryプラグインになっている理由がない。
つまり、jQueryの基本、「セレクタにマッチした要素全てに処理を行う」を満たしていない。
変な(jQueryの思想を理解していない)プラグインを作っちゃったからそうなったわけ。
jQueryプラグインとしてに書くならこうだよ。
$(this).filter(function() { return $(this).css('backgroundColor') === moge}).Hoge().addClass('page')
応用するとこんな風にしてコードの再利用もできる。
function cssFilter(name, value) {
return function() { return $(this).css(name) === value }
}
$(this).filter(cssFilter('backgroundColor', moge)).Hoge().addClass('page');
$(this).filter $(this).css
複数回生成してね?
お、少し読み間違えていたw
こうか。
function hogeFilter(name, value) {
return function() { return $.Hoge($(this).css(name)) === value }
}
$(this).filter(hogeFilter('backgroundColor', moge)).addClass('page');
どちらにしろ、$.HogeをjQueryプラグインにする理由はないけどね。
>>462 複数回生成っていうのは、
$('.hoge')のようなセレクタになっているものを一旦変数に入れるかどうかの話だよ。
括弧の中が要素の場合は関係ない。
>>462 いや、そもそもこういうコードが
怪しいって話だから。
> if ($(this)〜){
> $(this).css〜
> }
> $(this).filter $(this).css
この二つのthisは同じものを
指しているわけじゃないから話が違う。
> この二つのthisは同じものを
> 指しているわけじゃないから話が違う。
もう少し詳しく説明すると、
$(this).filter(hogeFilter('backgroundColor', moge)).addClass('page');
このコードの$(this)は、ここではたまたまthisだけど、セレクタに変えられる。
話を脱線すると
$('span').filter(hogeFilter('backgroundColor', moge)).addClass('page');
こうすると、全てのspanの中でbackgroundColorがmogeであるもの全てに
pageクラスをつけることが可能。
これは if で条件分岐していたときには、単数しか処理できなかったのに比べて
jQuery風にセレクタに当てはまるもの全てを処理できるコードになってるわけ。
で、話を戻して、二つのthisの違いだけど、
$('span')はすべてのspanだけど、$(this).cssはfilterで呼ばれるから一つのspanになる。
ね? 違うものでしょ?
かっこいいな。ifがなくなっちまってる。
これが関数型言語脳か〜w
そういう中身に関係のある条件ならいいけど、
関係のないのでも filter使ってんの?
たとえば、何かしらの条件でハンドラを付け外しする場合
$('.foo').css('foobar', 'hoge');
if (piyo == 3) {
$('.foo').click(function () {});
}
$('.foo').mouseup(function () {});
を
$('.foo').css('foobar', 'hoge')
.filter(function () {
return piyo == 3;
})
.click(function () {})
.end()
.mouseup(function () {});
こんな感じか…
>>461 今度は「なっている理由がない」かよw
プラグインにしたんじゃなくてそういうプラグインを使ってるだけなんだが
なんでどこまでも頓珍漢なんだろうな
filter使ったらすっきり書けました
ありがとうございました
(と良いところを素直に認めるのもA級プログラマーの重要な資質)
更に気になるところをチョチョッと手直ししたら処理がすごく高速化しました
ケチを付けて頂きありがとうございました(>_<)
質問も回答も疑問をそのまま質問にすればいいだけなのに、なんで否定が先行するかなあ
おおらかな気持ちをもってほしいね
>>412 IEなら、F12を押して、デバッグ実行してみ。
それで、エラーになる部分を、前後を含めて書いて。
IEのバージョンも書いて
>オブジェクトでサポートされていない
>プロパティまたはメソッドです
IEのバージョンが古くて、その機能に対応していないのかも。
IEをバージョンアップしたら?
filterの考え方を導入するとlodashのメソッドチェーン途中で抜けられない問題も解決できそうな気が。
スカラー値であってもコレクションのように扱ってフィルタする感じ?
>>474 その手があったか!
ますますlodashの価値が高まるな
スカラー値であってもコレクションとして扱って要素0ならエラーって感じで処理するのは
MaybeモナドやOptional型とか云々…
filterしたあとにfilterしてないものの集合を得るにはどうしたらいいですか?
end()したら、フィルタ前に戻せますが、
フィルタしてないものを得ようと思ったら再び全体にfilterをかけなくてはいけないのが
クールじゃないです
filter→filter→end
ってやったらどの時点に戻るんだろ?
>>477 もうちょっとクールな日本語で説明たのむ
>>481 >フィルタしてないものを得ようと思ったら再び全体にfilterをかけなくてはいけない
この行の意味が解らない
A ⊂ Bの時 NOT Bをスマートに取得したいって事だろ
if 〜 else 〜
みたいなことをfilterを使ってしたいのです
最初のfilterでif〜は出来ますが、
else〜をするには、endで元に戻してからまた条件を逆にしたfilterをかけないといけなくて
それがダサいのです
else()があればいいんですが。
filterをかけた時の元オブジェクトってどこに保存されてるんですかね?
それが分かればそういうプラグインかけるのでは
487 :
Name_Not_Found:2014/06/11(水) 22:25:35.31 ID:gJGao+Nm
pushStackというメソッドを使ってるようですね
490 :
Name_Not_Found:2014/06/11(水) 23:04:36.89 ID:gJGao+Nm
使ってませんよ
あなたに言ったのではありません
>>485 適当に作れば?
$.fn.else = function(){
var _this = this;
return $($.grep(this.end(), function(n,i){
return $.inArray(n, _this) == -1;
}));
}
>>477 > filterしたあとにfilterしてないものの集合を得るにはどうしたらいいですか?
俺だったらこうするかな。
var a = [], b = [];
$('.foo').each(function() {
if ($(this).なんとか) {
a.push(this);
} else {
b.push(this);
}
});
$(a).text(1);
$(b).text(2);
switchなどを使えば、3つ以上でも分割できる。
jQueryプラグインを作るならばこういうのも出来なくはないけど、ちょっと見にくそうだ。
$('.foo').filter2(
function() { return $(this).なんとか; },
function() { /* trueの時のjQueryuオブジェクト */ },
function() { /* falseの時のjQueryuオブジェクト */ },
);
Deferredっぽく以下の様なコードも考えたけど、
使う機会を考えると、作るまでもないかな。
var obj = $('.foo').filter3(function() { return $(this).なんとか; });
obj.trueCollection(function() { /* trueの時のjQueryuオブジェクト */ });
obj.falseCollection(function() { /* falseの時のjQueryuオブジェクト */ });
なんでみんな「filterしてないもの」=「filterで抽出されなかったもの」なんて理解できるんだ?
おれは
>>484の説明でやっと理解できたよ
普通は「filterしてないもの」=「filterする前のもの」だろ?
>>494 2行目でする前の物の話してるんだから
消去法で分かるだろ
まさか「filterしてないもの」!=「filterする前のもの」なんて想像もできなかったわ
みんな凄いな
なんかtweetdeckでtweetdeck xssとかいうアラートが出たのですが
大丈夫ですか?
XSSで勝手にRTされてました
ログアウトしたらログインできなくなりました
ツイートに含まれたスクリプトそのまま実行するってどんだけ
ろーだっしゅってクソなんですか?
lodashと書いてゴッドと読みます
神という意味です
477の件、回答ありがとうございました
492さんのやり方で出来ました
こんな簡単に作れるなんて思ってなかったです
自分の中では関数言語=lodashだったのですが
jqueryの関数言語性も強力だと認識しました
removeChild(dom)
でdomを削除する時、非関数言語的な考え方だと
dom要素が実在するか、親に子が存在するか、という判定をしてからremoveChildを実行しますが
jqueryの関数言語的思想から行くと、このようなチェックは必要ないでしょうか?
jqueryを使う時はifを使っちゃダメだからな
removeChildはdomの関数で
jqueryのremoveはセレクタとして意味のない引数を渡された時は全ての子要素を削除してしまうので
違ってました
508 :
374:2014/06/12(木) 15:32:40.71 ID:???
自己解決しました。
やはり、clearTimeoutの入れ子が原因でした。
お騒がせして申し訳ございません。
lodashでも全ループして中でif判定するより
絞り込んでから全要素に処理適用する方がいいのでしょうか?
>>509 場合による。
1. シンプルでバグが起きにくい書き方をすれば良い。
2. ただし速度が重要な場所とか、部分最適化をしてもよい。
この優先順位さえ守っていれば、
どちらかにこだわる必要はないよ。
全ループif判定で十分シンプルといえばシンプルですが
絞り込むほうが関数言語的な感じはします
全ループif判定の方は、選別と適用を同時に行っているからかな?
選別は選別だけをするメソッドに任せるのがクールなのではないでしょうか
513 :
Name_Not_Found:2014/06/12(木) 23:51:57.67 ID:fmoeVz1G
まじか
lodash王子
ループの書き方の良し悪しがプログラムの出来に与える影響は微々たるもんだ
$('<div>')〜appendTo($('body'))
までのメソッドチェーンの中で、
このidの要素がなければ何も追加しない、という処理を行うにはどうしたらいいですか?
$('<div>').attr('id','hoge').filter(function(){
return !$('#'+this.id).length;
}).appendTo($('body'));
これで存在しない時だけ追加するように出来ました
appendTo($('body'))
は
appendTo('body')
でokでした
jqueryで取得系のメソッドは、集合の最初の要素のみに対して行われます
data()による取得でも、集合の最初のDOMに紐付けられたデータのみが返ってきます
これは重要な仕様だと思うのですが、ドキュメントにそのような表記はないようです
何故でしょうか?
普通に、最初の要素の値を返すって書いてあるし。
あんたが英語読めないだけじゃないの?
http://api.jquery.com/data/#data2 > Return the value at the named data store for the first element in the jQuery collection,
書いてますね
日本語レファレンスの方になかったので英語の方は飛ばし読みしてしまったようです
ありがとうございました
jQueryの日本語ドキュメントってなんかやたら古いよな
だからいつも最初から英語のほうしか見てない
うっせバーカ
jqueryで、cssなどの値をそのオブジェクト自体を使って設定できるように
引数が関数ならapplyするようにすればいいと思う
css('left',function(){return this.width()})
みたいな感じ
そういう改造できませんか?
日本語の公式ドキュメントなんてあったっけ?
ない
>>526の件ですが、やってみたら普通に出来ました!?
裏技か?
たしかに書いてますね
jqueryの知識が結構穴だらけな気がしてきました
いい本とかないですか?
いままで読んだのはオライリーのjqueryクックブックです
あのウサギの絵のサイトは情報が古いだけでなく
全然jqueryの本質に迫ってない感じがする
>>532 本よりも公式ドキュメントを読む方がはるかに確実で最新の情報が得られる
本は一通りの知識を得るためのもの、情報も遅い
>>534 日本語に限れば、本の方がましだよ。
公式(英語)にはどうしてもかなわないのはあたりまえだとして。
個人的にはこれがオススメ
コアjQuery+プラグイン/jQuery UI 開発実践技法 (Programmer’s SELECTION)
http://www.amazon.co.jp/dp/4798124281 プラグイン や jQuery UI 作らないからいらねーと思うかもしれないが、
前半のjQueryの部分だけで十分価値がある。
これもなかなかよい。
新人プログラマのためのjQuery-Webアプリケーション開発講座-掌田-津耶乃
http://www.amazon.co.jp//dp/4899772580/ あとオライリーはたいてい良い物なので買って良い。
jQueryの本にはデザイナー向けのこんなプラグイン使えばこんなの作れるぜ
みたいなのがあるけど、あれはjQueryの勉強に役に立たない。
デザイナーにとっても、少し本の内容を応用したくなったら
行き詰まるだろうから、素人向けでしか無いね。
ajax使うのにずっとprototype.js使ってたんだけど、これをjqueryに移行するのって大変かな?
jqueryはモバイル用にちょっと入れてみたことがあるだけで、中身は知らない
自分も含め利用価値が高いなら大変でも移行する方がいい
>>537 prototype.jsだけに限らないけど
ライブラリを置き換えるときはこのようにすればいいよ。
1. 全てを一度に置き換えようと考えずに、両方使えるようにする。
jQueryには他のライブラリを混ぜて使うためのnoConflictという
メソッドがあるからね。これとjQuery(function($) { } )という書き方を使えば
Prototyope.jsが使われているコードの中に、jQueryを混ぜられる。
2. Prototype.jsが使われているコードを関数に分離する。
ajaxを使う部分だけを小さな関数に分離する。その関数の引数には
Prototype.js専用の物は使わない。
Ajaxであればmyajax(url, function() { })みたいな
呼び出し方をする関数にできるでしょう。
3. Protptype.jsのコードを関数に封じ込めたら、その関数をjQueryに書き直す。
こんな感じで置き換えていけるよ。
9. 簡単に置き換えられる所は、そのまま置き換えて良い。
IDセレクタを使う部分とかね。
>>536 >>532はにオライリー本を読んで情報不足だったわけだから日本語サイトは比較対象に入ってないよ
で、問題は「公式サイトにあって本にない情報が多い」ってことだけど、本はWebよりも情報をまとめる速度に欠ける上に公式でないことが情報の確度を下げてる
あなたが紹介した書籍でも公式サイトよりも情報が少ないわけだから、根本的解決には至ってないよね
なら、初めから公式サイトの情報を基準として書籍は情報補完的に扱うほうが理にかなっていると思う
>>540 なんか全く見当外れなことを言ってるね。
情報を多い少ないだけで語っているのは大間違い。情報はあるだけじゃ
役に立たない。その情報を理解できて初めて意味がある。
たいていの日本人にとって英語は情報を理解するのに時間がかかるもの。
まったく理解していないものを、英語という時間がかかる方法で理解するよりも
日本語で理解している物のうち一部を英語で補完するほうが圧倒的に時間は短い。
君に時間が無限にあるのなら話は別だけど?
またある情報はいろんな解説の仕方がある。公式は正しい情報かも知れないが
正しい解説をしているとは限らない。わかっている人(=jQueryを自分で考え出して作れる人)の
解説が、必ずしもわからない人(=jQueryを知らない人)にとってわかりやすい解説とは限らない。
何が最適かは、情報を書いた人だけではなく、情報を受け取る人によって変わるのだから
受け取ることの人を考慮していない君の意見は全くの見当外れ。
>>541 今回の問題の発端は .css( propertyName, function ) という callback function を引数に取れる仕様を知らなかった事
「本にその仕様が書かれていて理解できなかった」ならあなたの意見は理にかなっているけど、「本にその仕様が書かれていなかった」ら解釈でどうこうできるレベルじゃない
始めは本を参考にするとしても、「本に書かれていない情報」の可能性を否定できない以上、最終的に公式サイトを確認しなくちゃならない
それなら初めから公式サイトを確認する方が時間短縮になると思う
そもそも、なぜそんなに喧嘩ごしなのかなあ
別にあなたと喧嘩して得るものは何もないのだし、質問者からの意見待ちでいいと思うけどね
今後もその姿勢が変わらないのなら俺はもうレスしない
>>542 本になら書いてあるけど?
コアjQuery+プラグインのP76に。
本は情報をまとめて取得するのに効率的。
日本語で書いてあるから理解も早い。
なぜ英語を読まないのかは英語を読むのに時間がかかるから
たったこれだけの文章でも読むのに時間が掛かるってことをわかってない。
これは、公式に書いてあるとか、あなたが読めるとか関係なくて、
読む人の問題だからあなたの意見は関係ないわけ。
> 今後もその姿勢が変わらないのなら俺はもうレスしない
あんたのレスされても得るものは何もないし
むしろこっちからレスしてほしくないね。
それから、俺が
>>531で、公式に書いてあるって
教えたんだけどなw
俺は公式にあると説明した上に、
さらに日本語の本も教えた。
さて、あんたは何をやった?
これ以上俺のために争わないでっ
どちらの意見も大変参考になりました
ありがとうございました
いや、俺だ
>>543 自分から他人に食ってかかっておいてその人からのレスを拒否するとは自分勝手な人だな
初めから他人にケチをつけなければいいのに
>>546 勝手に名乗るなってw
ほんとこれでどっちが変なやつか
よくわかったわ。
>>548 > 自分から他人に食ってかかっておいてその人からのレスを拒否するとは自分勝手な人だな
ん? 俺はだれにでも好き勝手レスするし、
レスしないって言ってる奴に、レスしなくていいよって言ってるだけだが?
自意識過剰ないつもの人が暴れているだけなのでスルーで
了解です
>>551 いつもの人って誰やねん
適当なことぬかすなゲジゲジ
>>554 これは「この要素が既にあれば」の書き間違いでした
>>554 <div> に対して not() では期待通りに動作しないんじゃない?
>>517で自己解決してるけど、これメソッドチェーンを使うために無理にコーディングしている感があるなー
if (jQuery('#hoge').length) {
jQuery('<div>').appendTo('body');
}
これが正攻法かつわかりやすいと俺は思う
いつもの人
・他者からの自己否定に必要以上に敏感
・三者三様という考え方が持てない
・質問者置いてけぼりで他の回答者の人格否定
・最後まで言い返さないと気がすまない
↑
みて、こいつがいつもの人です(笑)
>>558 ほんと、お前、なにか言わないと気がすまないんだなw
放置しろよ。できねーのか?
やはり、言い返してきたか
ワンパターンだな
ゴッドの日本語解説サイトでお勧めがあったら教えてください
スレ違いなら誘導をお願いします
ゴッドの日本語サイトは見たことないです
あえて言えばここが一番有力な情報源かな?
ゴッドはあなたの心の中に存在します
自分を信じて頑張ってみてください
自分の自分による自分のためのライブラリ
それこそがゴッドです
そう、あなたが作成したライブラリがゴッドなのです
■ゴッドの作り方
1. 愛用のテキストエディタを起動します。
2. 自分の思うがままにコードを書きます。
3. コメントで解説文をつけます。
4. ファイル名を god.js にして保存します。
jqueryにトラバースという単語が出てきますがどういう意味ですか?
wikipediaには
コンピュータソフトウェアでは、木構造やグラフの全てのノードを辿ること。
と書いてありますが「全てのノードを辿ること」というのは違う感じがします
ありがとうございました
うっせバーカ
> (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
jqueryのanimateメソッドの引数propertiesを
css()のように関数によって動的に設定したいのですが、
関数の引数には対応していないようです。
他にも関数引数に対応してないメソッドばっかりです。
cssでそうするなら可能な限りのメソッドでしろと思うのですが
これはもうどうしようもないですか?
割れ窓理論やな
> (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
分かっててやってる相手に逐一構うのもよくないと思うけどなぁ
この分じゃまた勝手にスレ立てそうだけど
きちがい乙
わざわざスレを立てたことなどないし立てる必要もないことが分からんかな
jqueryでコールバックを呼ぶだけのプラグインを作ると、
チェーンを切らずにかなり色々出来ます。
関数を引数に取らないメソッドに、
そのオブジェクト自体の値を設定するなど。
ただ自由度が高すぎて、これでいいのかなぁ?という気持ちもあります
こういうのどうやってますか?
586 :
Name_Not_Found:2014/06/15(日) 20:07:07.91 ID:CNlJgjHB
<div onclick="event.stopPropagation();">
属性内に直接JavaScriptを書いてイベントメソッドを使いたい時って↑のやり方でいいんでしょうか?
これだとクロスブラウザに対応してないですか?
switchのcaseの中から直接returnしてもいいですか?
588 :
Name_Not_Found:2014/06/15(日) 20:24:31.49 ID:CNlJgjHB
すいませんやっぱりいいです
>>586 これどうなんの?
普段HTMLの中に直接書いたりすることないから分からなかった
このスレの質問と解答を、加工して、Qiitaと自分のブログに
載せてるけど、Qiitaに投稿したJavascriptネタは数百の回覧数があるけど
あんまりブログのアクセス数が伸びないな。
Javascriptをもっと勉強したいんだけど、仕事でC言語とLinuxを使うから
その勉強して忙しいし。
Javascriptってほぼ趣味で勉強してるけど、これって、いつか仕事で役立つ
ことがあるのでしょうか?
さらっとパクリ告白ww
仕事で役立たないわけないだろ
くそ野郎が
>>594 いや別に使わないから試さねーし
知ってる人だけ答えればいいよ
>>595 いや、使わねー奴に教えてやる義理もないし、
使わないなら質問しなくていいよ
だからお前に聞いてねーんだよカス
単なる興味本位なんだから
なんで未だにマウス座標の取得方法って曖昧なのですか
頻発する操作ですよね
ブラウザによって数pxズレるじゃないっすか
どうして統一しないんです
別にずれないだろ
なんていうかブラウザの左端っこに配置した要素までのゼロ距離が微妙に結果が違ってくるというか
マウス座標がズレるというか(取得マウス座標 - 要素までの距離)を計算するときに数pxズレる
ネジはズレても締まってりゃ問題ないだろ
ある要素を右クリックされた位置にメニューを出したいのですが
その位置を取得する方法があれば教えてください。
ここまではできました。
<script type="text/javascript">
window.onload = function() {
var hoge = document.getElementById("hoge");
hoge.oncontextmenu = function() {
alert(右クリックされた座標);
return false;
};
};
</script>
一応できました。こんなのでいいのでしょうか。。。
<script type="text/javascript">
window.onload = function() {
var mouseX;
var mouseY;
window.document.onmousedown = function(e) {
mouseX = event.x - document.body.scrollLeft;
mouseY = event.y - document.body.scrollTop;
};
document.getElementById("hoge").oncontextmenu = function() {
alert(mouseX + ":" + mouseY);
return false;
};
};
</script>
>>600 おそらく、デフォルトスタイルシートの違いを吸収出来てないだけだろう
その辺りの知識不足が原因
良いんじゃね
event.x は DOM 規定に入ってたかな...
>>600 なるほど知識不足は良いとして、やはりブラウザ依存でズレるのですね
参考になりました
>>610 >>606に対してだと思うが、適切に措置すればずれない
CSS以外に
>>609も気になるポイントだが
老婆心ながら忠告するが、知識不足を放置して結論を急がないほうがいいと思う
>>610 相対的な配置にしてたら同じブラウザでもフォントサイズの設定が違ってたらズレるだろう
結局
>>598の問題から考えるとブラウザ依存だけじゃなく
マウス座標取得周りの処理は不安定だな
未だにそれに特化したライブラリすら無い状況(たぶん)
>>612 フォントサイズが違うのなら、ずれてくれなければ逆に困る
そもそも、アクセシビリティに気を使う設計ならすべてのブラウザで同じマウス座標を期待する発想にはならない
質問者は全てのCSS設定値を絶対指定する発想だと思う
アクセシビリティを含めたアドバイスをするなら、CSSはユーザCSS優先だから全てのブラウザで同じマウス座標を得ることは不可能
別の手段を考えよう、ということになる
615 :
614:2014/06/16(月) 12:47:11.78 ID:???
あえて別の手段を考えるなら、フォントサイズは DOM API で取得可能だから、「px値 / フォントサイズ」でem値を算出可能
相対的な座標を計算すれば、ユーザCSSでフォントサイズが変更されても全てのブラウザで同じ相対座標を得ることも出来なくはない
ただ、広告削除アドオン等のコンテンツ改変系までは対応不可能だし、padding, margin変更にも対応するならcomputedStyleを得て減算しておく必要があるとか、ユーザCSSの改変範囲を広げるほどに処理が面倒になるけどね
>>608-609 座標に関するプロパティはCSSOM View Moduleで定義される
rubyの(1..10)みたいなことってJSでどうやるんですか?
lodashで出来ますか?
_.range
ありがとうございます
rubyodashと言われるだけありますね
innerHTMLを使ってはいけないと言われていますが、
大量のliで構成されたカラーパレットのようなものを作る時は、
DOMではなくHTMLで組み立てていきますよね?
>>620 rubyodash に一致する情報は見つかりませんでした。
検索のヒント:
キーワードに誤字・脱字がないか確認します。
別のキーワードを試してみます。
もっと一般的なキーワードに変えてみます。
頭大丈夫かい?
>>621 > innerHTMLを使ってはいけないと言われていますが、
別に言われていない。
このスレで見た記憶があります
このスレという狭い世界は忘れなさい。
せめてググって信頼性の高いソースを
見つけてください。
「言われてない」が答えです。
では中間をとって「言われていたかもしれない」あたりにします
君がどうしたいかじゃない。
別に言われていない。 が正解だって言ってるの。
実際に言われてたのだから言われていないにすることは出来ません
じゃあ、それが間違いってことで
ファイナルアンサー。
>>621 使ってはいけない理由をふまえて考えて下さい
理由もなく、禁止する人はいません
lodashにarrayをconcatする関数はないのでしょうか?
_.unionでほぼ同じような動作になりますが
重複チェックはいらないのでもにょります
普通にconcatすればいいじゃん
チェーンの中で使いたいので。
ないならプラグインもすぐ書けそうですが、
なんでないのかな〜
var a=["a","b","c"];
alert(a.2);が出来なくて
alert(a[2])ができるのはなぜですか?
2つは同じじゃないんですか?
>>638 プロパティ名は数字や記号(一部例外)から始まることが出来ないと決められてる
そんな決まりいらなくね
123
じゃあこれは数字ですか?プロパティですか?
自分の心に聴けば分かる
ふーん
rubyに出来ることがJSには出来ないんだ
RubyにできることがJSで全てできるならRubyいらないよね
だから何なんだよww
それはrubyに出来ることをJSが出来なくていい理由にはならない
はい論破
サーバとクライアントの違いが分からないなら黙ってろよ
node.js
はい論破
きもい
Ruby は同じ土俵にすら上がってないから比べても無意味
はい論破
RubyはRPGツクールでも使える
はい論破
マジレスすると
a.2が許されるならば
window.2も許されるということになる。
windowは省略できるから、
2という変数になる。
var value = 2 + 3
の答えが、2という変数に5が入っていると
valueの答えは8になるとかいう意味不明な現象が起きる。
だから数値から始められないことには
明確な理由がある。
っつーか大抵の言語では識別子の頭文字に数字は使えないよな。
Array オブジェクトの index 2 の要素と "2" という名前のプロパティが
違う値をとることはあり得ない?
>>653 Rubyでは使えるんですーって言っていた人がいたはずだが?
>>654 2という名前のプロパティが使えたら
2.1は、2という名前のプロパティの1というメソッドかい?
みたいなことになるなw
今更嘘とかwww
「〜の仕様はなぜですか?」系の質問は曖昧な受け答えで引っ掻き回すだけ引っ掻き回してぐだぐだのまま放置する人しか見たことがない
まともに回答するだけ無駄のような気がしてる
言い訳すんなカス
いや質問者とは別だから
違ったら違ったで迷惑な人が二人に増えただけ
は?
質問は迷惑じゃねーだろ
どれが質問者かわかったもんじやないんだが…
回答にお礼をいうわけではなし、回答者同士で煽り合うのただ傍観するだけ
これが迷惑行為ではないというなら、もう何もいわん
文体そっくりだしあれと同じやつだと思うけどね
質問者に短時間で再見する義務なんぞないんだが。
ケツの穴の小さいヤツは何も言わなくていいよ
こういう事が起きるから
ID出さない質問者は質問と見なさなければ良いよ
>>1読んでないって事だし
そりゃ読む必要すらないものだからな
基本的に
しかしなんだかんだで勉強になったというか知識が増えたわ
これがヘッポコ野郎共のみの集まりならgdgdで何の勉強にもならないどころか逆に馬鹿になるけど
真偽の確め合いができる人が数名いればなんとかなるんだろうな
げ、なりすましされてる
idってどうやって出すんですかね
windows.8="ゴミ";
JavascriptでMACアドレスを取得する関数(方法)ってあるのでしょうか?
実用性土返しで可能なのかどうかだけ知りたい感じです
あるわけないだろ
windowsだからmacアドレスなどない
はい論破
>>678 ある程度はぐぐっていてそのページも済みです。
2chの皆様の方が知識人と思い最終確認を兼ねて質問している感じです。
ActiveXを使えば可能っぽいのですがこの方法ではなく純粋なJavascriptかCGIで出来ないものかと思っています。
何故このような疑問を抱いているかといいますと次の事が実際にされているようなので
方法はあるのではないかと思っている次第です。
技術的な探究心みたいな感じです。
・プロバイダーやCATV会社は契約者にブロードバンドルーターを送りますが、
契約者のルーターMACアドレスをログインIDのように使うことで購入後設置するだけで
ネット環境に手軽に接続できるようにしている(パスワードとか不要でネットにいきなりつなげれる)
参考元:
http://www.atmarkit.co.jp/fpc/special/bbrouter_desc/wan_ip_manage.html ページ内該当部分検索キーワード:「一部のCATVインターネット接続サービスでは」
・PHPではライブラリーを使えばできるような話がある
参考元:
http://okwave.jp/qa/q1448583.html また噂にすぎない話ですが、GoogleはMacアドレスで契約者を管理してるような話も聞いたことがあります。
これら情報を総合して見てみると知られていないだけで方法はありそうな気がしているのですが…
詳しい方いらっしゃいましたら引き続きよろしくお願い致します。
682 :
681:2014/06/18(水) 20:13:21.83 ID:???
macアドレスが取得出来たら
むしろセキュリティ的に問題になるから出来ないよ
そこなんですがMacアドレスは簡単に好きな値に変更できるので
セキュリティー的に問題になるという話も疑問に感じています
IP知られるのとリスクは何もかわらないと思うのですが
何故ネット上では危険と言われているのでしょうか…?
>>681 参考元でも取得出来ないって書いてるじゃん
あと自信ないって書いてある通り間違っていて
CGIで取れるとしてもクライアントじゃなくサーバーのMACアドレスしか取れない
とにかく無理だよ
セキュリティ的なことはよくわからないけど、プライバシー的にとても問題がある
任意のアクセスの中から特定の端末からアクセスされたものをほぼ確定できちゃうからね
その紐付けされた情報をユーザ側から確実にリセットする方法が、端末交換以外難しいのも問題
この流れに乗じてipはどうやって取得するのと質問
そんくらいぐぐれよ
Macが簡単に変えられるということよりも、
普通は変えないということが問題。
つまり世界中で一意であるMacアドレスが取得できると、
ユーザー追跡が可能になってしまう。
トラッキングクッキーよりも
大きな問題になる。
googleが世界中の無線LANアクセスポイントのMACアドレス収集してるよねw
完全にJavaScriptの質問から逸脱している。
だからなんだよ
自治厨は去れ
去れとか言うのも自治厨だね
去ってくれる?
詭弁乙
696 :
695:2014/06/18(水) 23:05:34.69 ID:???
すまん、間違えた
お前の間違いはそこじゃねーよw
自治厨であること自体が間違いなんだよ
> (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください
>>700 JavaScript を自ら学ぶ人のための質問スレッドです。
>>698 こんなものにはお前の独り言程度の意味しかない
704 :
681:2014/06/19(木) 17:18:29.15 ID:???
>>685 言われてみればCGIからだと確かにサーバーのMACアドレスしか取得できないですね
CGIからは無理そうなのは納得出来そうです。
>>689 Googleがやってるっぽいんですよ、しかも運用に活用してるらしいんですよね。
噂であり確実な話ではないのが歯がゆいですが
なのでGoogleが出来るなら方法はあると考えているんですよね…
>>690 一体どうやってるんでしょうね?
出来るってことは方法はあるとどうしても思えてくるんですよ
個人的に考えついたのは、JavascriptでMacアドレスの取得が可能ならば
その情報を送信すればいいわけなので
やはりJavascriptで取得が可能か否かがネックだと思っています。
ちなみにこれも憶測となりますがChromeなどのアプリケーションを使用すれば
OSのAPIを叩くことでMacアドレスの取得は簡単にできます。
Googleはこの方法で収集してるとすれば・・・やはりJavascriptでは方法はないのかな・・・
JSのみだと、そういうオブジェクトが用意されてなきゃ無理でしょ。
>>704 「Googleがやってるっぼい」のソースは?
そして、そのソースが信頼出来ると判断した根拠は?
そもそも、「っぼい」では確定事項と読めないけど
無線LANアクセスポイントのMACアドレス収集の話と混同してるんじゃないの
JSでは技術的に不可能なんだから出来ない、で終わりだよ
>>704 Googleの無線LANのMACアドレス収集っていうのは
ストリートビュー撮影車が無線LANの電波を直接受信して記録してるだけだぞ
ブラウザとかまったく関係無い
配列から要素をランダムに一つ取り出す関数はlodashにないのでしょうか?
710 :
681:2014/06/19(木) 18:11:54.00 ID:???
>>705 全部のオブジェクトを知らないので、網羅している有識者が2chならいるかもと思っていたのもあります。
やはりMACアドレス取得のオブジェクトは用意されてないのですね。それなら不可能ですね…
>>706 あくまで「っぽい」なので信頼できるかと言われれば50%の話です。
もちろん確定事項ではないです。
MACの取得は自分も今まで不可能だろうと思って生きてきてます。
…が、GMailやAdsenseなどGoogle関連サービスのアク禁にあった人達の多くが再登録が出来ない(永久追放になるらしい)
といった話を知り
彼らの調査結果の中やまとめ系サイトなどに大抵が「GoogleはMacアドレスも見ている」というのが共通見解のようでして
最近ではAndroid関連とかでよく目にします。
この話を知ってから「MACアドレスの取得はできない」は自分の思い込みだったのかと思い
実は方法はあるのでは?と疑問を抱き、詳しい人が集まっているであろうここで質問に至りました。
GoogleサイトはほとんどAjaxで作られているので、取得が可能ならばJavascript辺りだろうと勘ぐっての質問です。
Macアドレス以外の情報も併用してのアク禁だと思いますが
1つの手としてMacアドレスを使用しているのだとしたら、その方法を知ってみたいという好奇心的なものが強い感じです。
>>707 >>708 すみません。勘違いしてたようです…。
よくわかりました。ありがとうございます。
そんくらいrand使えよ
evalで解決
イバらないで下さい
すべてのものはobjectを継承?しているということは
object.windowと
object.jisakuは同じなんですか?
継承の意味が分かってなさそう
【環境】Win7Pro IE11(64bit)
【何をしたのか】配列内の要素の重複チェックで配列内文字列の比較で見た目は明らかに同じ値にも関わらず偽となる。
【エラーメッセージ】なし
【期待する結果】配列内の要素との比較時に正の結果を得たい
【サンプルコード】
http://jsdo.it/cococo/vRFu 色々テストしてみましたが手詰まりです。
matchの返り値って配列じゃないっけ
ていうかIEにも開発者ツール付いてるから使うといいよ
配列を比較してるな
array1.push(temp[0]); なら同じになるんじゃね
>>710 もう少しネットワークの知識を身につけた方がいいんじゃないかな
MACアドレスを収集するにはデータリンク層、またはネットワーク層でARPテーブルを見なくちゃならない
ここまでわかれば、GoogleがどうやってMACアドレスを収集しているか、想像できたはず
>>714 ラオウ 北斗神拳を継承
ケンシロウ 北斗神拳を継承
ラオウってケンシロウと同一人物ですか?
GoogleがMACアドレスを収集する方法は世界中を車で走りながら
アクセスポイントを見つけては位置と一緒に記録するという
とんでもなく地道な作業だよ。
>>718 matchの戻り値配列ですか。文字列の長さを取得してみた時に1で???だったのでそうかもしれません
ありがとうございます
>>719 なるほど、参考にします。
とほほのJavaScriptリファレンスを参考にしてますがここは情報が古かったりしますかね?
正規表現オブジェクトを使って文字列の取得をしてみたんですが上手くいかないので
結局matchを使ってます
>>710 > 彼らの調査結果の中やまとめ系サイトなどに大抵が「GoogleはMacアドレスも見ている」というのが共通見解のようでして
Macアドレスを見ているのであれば、Macアドレスを変えて
登録できたという事例が存在しているはず。
見解だけで事例がなければ、Macアドレスを見ていないということ。
でもブラウザがmacアドレスをHTTPヘッダにつけて送ってたら
ばれるよね。
>>725 それは仮定の話でしかも事実ではない。
結論としては、ブラウザはMacアドレスをヘッダなどに
つけて送っていないから(どんな手段でも送ってない)
だから、ばれないということさ。
みんなずっと言っていることだろう。
androidは端末だからアプリではMACアドレスにアクセス可能だろう
そういう話とごっちゃになってる気がするな
ブラウザ上で動くJavaScriptは相当不自由なものなんだよ
そもそも、JavaScriptでMACアドレスを収集しているというソースがどこにもない
なぜ質問者はJavaScriptで収集していると思ったんだろうね
(誰にでも出来る簡単な方法でMACアドレスを収集しているというのに)
>>728 >>704で
>GoogleサイトはほとんどAjaxで作られているので、取得が可能ならばJavascript辺りだろうと勘ぐっての質問です。
って書いてるじゃん
>>730 何で思ったんだろうって
>>728が書いたから
何で思ったのかの理由を引用しただけなんだけど
>>729 なるほどね…
分からない状態で憶測を立てたのが間違いだよね
733 :
681:2014/06/19(木) 23:41:20.00 ID:???
>>717 そうなんですか?
>>720 つまりパケット解析をしてるという感じでしょうか?
そのレベルに達するとさすがに自分の今の知識では理解できそうにありませんが
パケットは隣同士のネットワーク機器の情報しか含まれていないと今まで思っていました。
エンドユーザーのルーターMACアドレスまでは梱包されていないと思っていました。
ですがパケットにエンドユーザーのルーターMACアドレスまで梱包されているのでしたら
Google程の技術集団の場合パケット解析が一番早そうだなと確かに思いました。
>>724 再登録するにはパソコンを変えるというやり方が述べられていました。
これが一応Macアドレス変更を担ってるのかなと…。
PC本体変更は他にも担ってしまうのでちょっと広域すぎますよね。曖昧な見解ばかりですみません。
>>728 >>732 Googleの場合は、アドセンス、Android開発アカウントなどはブラウザで登録されるもので
Android端末のアプリではないです。
サイトで登録するので使用されているテクノロジーはHTML5、Javascript、PHP、CSS、SQL辺りしか思い当たらず
IEやFirefoxなど他社ブラウザ使用者もアクセス禁止になっているわけなので
ChromeがMacアドレス収集して送信しているわけではないなと考えました。
自分なりに可能性を潰していった結果Javascriptかなと思ったわけです。
本当にふと思った疑問だったので憶測ばかりですみませんでした。
みなさんの意見は大変貴重です。
自分で気付けないことに気付かされます。
特にパケット解析は考え付きませんでした。
自社サーバーでログインユーザーのパケットを解析して判断してるのかもしれませんね。
この場合到底真似できません。さすがだと思いました。
パケットの構造なんて公開情報だし、
その情報を見ればIPパケットにもTCPパケットにもUDPパケットにも
Macアドレスが含まれてないことがわかる。
イーサネットフレームには含まれるが
それは同一サブネットの範囲でしか転送されず
ルータをまたいで転送することができない。
つまりは、ブロードバンドルータ、プロバイダのルータ、
間に入っているその他もろもろのルータがある以上、
ブラウザを介してパケット経由でMacアドレスが
Googleに伝わることはない。
これはネットワークの基礎知識。
>>733 あなたは人の話に耳を傾けてくれるみたいだから親切心で忠告するんだけどね
他人の話に振り回されすぎだよ
その人の話が正しいかどうか検証もせず、鵜呑みにする癖があるみたいだけど、それは直したほうがいい
>>710で「勘違いしてたようです…。よくわかりました。」と発言しているけど、実際にはよくわかってから疑問がつきないんだ
---
Google ストリートビューの車、無線 LAN アクセスポイントと MAC アドレスも記録していた | スラッシュドット・ジャパン IT
http://it.slashdot.jp/story/10/04/27/011218/ Googleは無線APのMACアドレスを収集しているに過ぎない
無線APのMACアドレスは無線APと接続すれば、接続した端末のARPキャッシュに残るのだから簡単にわかる
例えば、Windows マシンなら arp コマンドを叩けばいい
http://www.atmarkit.co.jp/fnetwork/netcom/arp/arp.html この情報ソースに対して読者は様々な推論をするが、一部は間違っているし、一部は正しい
多くの人が間違っている話を繰り広げることも当然ある(多数派が正しいとは限らない)
あなたは自分で理解することを放棄して「有識者っぽい人の意見を鵜呑みにしている」んだよ
そして、誤った情報を鵜呑みにするから、いつまでも真実にたどり着けない
まず、自分で「理解できる情報」と「理解できない情報」を切り分けて、「理解できない情報」をわかるまで勉強する癖をつけたほうがいい
ここが出来るようにならないと、プログラミングで重要な「論理的に考える力」が育たない
---
最も、これはあなたの限った話じゃないし、最近「理解できる情報」と「理解できない情報」を切り分けられない質問者が増えてるんだけどね
質問者は憶測で話すから、適切な回答しても「それはおかしい」と見当違いの方向に話を持っていく
困ったものだね...
>>723 とほほ は止めておいた方がいい
何となく動けばいいとか辞書変わり程度では使えるけど
>>4のMDNを調べる方がずっといい
なんでさっきから無線LANのMacアドレス収集の話してるんだろうか?
Macアドレスと、それが地理的にどこにあるかの記録は可能だが、
どちらにしろTCP/IPやブラウザから、Macアドレスを求めることは出来ない。
マックアドレスが分からないならモスアドレスを使えばいいじゃない
739 :
Name_Not_Found:2014/06/20(金) 02:48:17.13 ID:bWs0cCuk
javascriptの配列のような(ArrayLike)オブジェクトというのは何のためにあるんでしょう?
「配列のようなオブジェクト」を普通の配列に変換するための方法などもあるみたいなのでなおさら存在意義がわからなくなりました
>>739 例えば DOM の NodeList は、通常 DOM ツリーの変化が
動的に反映されるものとされている
この場合、 NodeList を js ネイティブの Array と同様にふるまわせることはできない
例えば NodeList のある要素が delete できるとしたとき
DOM ツリーと整合させるために DOM ツリーの要素を削除することにすると
ツリー構造との整合性が保てなくなる場合も出てくる
(例えば、その要素が NodeList の中の別の要素の親であるときなど)
741 :
Name_Not_Found:2014/06/20(金) 08:57:19.03 ID:bWs0cCuk
ありがとうございます。納得。
jQueryのcss()などで要素のcssプロパティを追加する場合
ブラウザ未対応プロパティまたは値が不正で無視された事を検知するにはどうすればいいでしょうか?
744 :
742:2014/06/20(金) 15:32:39.58 ID:???
JavaScriptでなんとかなるなら、jQueryでなくても構わないです
745 :
742:2014/06/20(金) 15:33:35.93 ID:???
リンク先見ましたありがとうございます
bootstrapのdropdownでコンテキストメニューのようなものを作っています
これをOSのコンテキストメニューのようにネストしようと思ったらどうすればいいでしょう?
あるいは他の方法をした方がいいんでしょうか
ネストされたdropdown、
というUIをwebアプリではあまり見ない気がします。
なにか理由があるのでしょうか
そもそもbootstrapのdropdownにネストする機能がないことが
「そういうことはするな」というメッセージなのでしょうか?
>>748 ライブラリではなく、設計思想が主題です
ライブラリに限ったことではないので
iosのdropdownでは、サブメニューに移動すると、dropdown自体が書き換わる
という形で階層を表現していますが
こういうインターフェイスってwebでもあるでしょうか?
個人的には見たことがないですが
おとなしく誘導されときゃいいものを
>>750 ライブラリの設計思想ならライブラリスレへ
>>751 ここはJavaScriptの質問スレなのでJavaScriptの質問をしよう
tweetdeckで会話をみようとすると、
カラムが横にスライドして書き換わる、iOS的な動きをしますね
サブメニューをこういう形で表現するのがモダンなのでしょうか
このインターフェイスの名前は何でしょうか?
>>755 そういう人は純粋JavaScriptスレへどうぞ
>>756 この件ですが、どうもdrawerと呼ばれているようです
まともなJavaScriptの質問がなかなか来ないな
>>760 あなたが機能させればいいだけのことです
重複っつーか今回のこのスレもそうだけど
荒らしが自分に都合よくするために建てたスレだから
あのスレが荒らしにどう都合がいいんですか?
このスレの方が余程自演荒らしにヤラれてますよね
×自演荒らし
○自治厨荒らし
でした
>>762 俺は不要だと思っているから盛り上げる理由がない
必要だと思っているあなたが盛り上げればいいのでは?
drawerみたいに、任意の領域をシュッと左右に収納するって、どうやるんですか?
>>767 最早あなたが荒らしになってることに気付かないんですか?
あなたが一番迷惑なんです
jqueryのdrawerプラグインを紹介してるサイトは結構あるのですが
原理が知りたいです
771 :
Name_Not_Found:2014/06/20(金) 23:14:31.00 ID:o75xvwOR
IDにはピリオド等含めることが出来ますが
cssやjquery等のセレクタでそういったIDを使用するにはどうしたら良いですか?
772 :
Name_Not_Found:2014/06/20(金) 23:16:22.13 ID:o75xvwOR
\で解決しましたごめんなさい
JS以外の話をするな!
何のことか、さっぱりわからん
そんな専門的な話は、よそでやれ
今、次期テンプレの相談して決めればいいんでしょ?ライブラリ質問禁止か許可かも含めて。
前スレで議論されたし、今更
話し合いで自治厨荒らしが引き下がるわけないよ
こいつの特徴は圧倒的な幼稚さだから
だから無視するしかない
というかライブラリ質問禁止は自治厨荒らしの存在根拠だから
何を言われようが死に物狂いで入れてくるよ
それがないと荒らせないんだから。
まじゴミだよな
議論も何も一人で、俺決めた。俺賛成って
よーしライブラリ禁止にするため
lodash信者のふりして荒らしてやるぞって
自作自演してただけでしょw
そんなの気にせずに、質問には答えればいいし、
どうでもいいものは無視すればいいだけ。
lodash信者のふりしているか してないか 知らないけど
そういうのも単なる荒らしあつかいで無視すればいいだけ
ライブラリ禁止と言ったら、DOMだって
ブラウザという実行環境限定のライブラリな
わけで禁止されるってことになる。
こうやって本人が堂々と居座ってるし
いっそID出る板に移っちゃってもいいんじゃないの
まぁまぁ、そんなに焦らず。
このスレだって1000までまだ残り
200以上もあるわけだし、
みんなでゆっくり次スレのテンプレを考えたらいいさ。
それからスレたてても遅くないだろう
・・・って、うぉっ!もう次スレたってる!?
連日このザマなんだからまた立てられちゃうのは目に見えてただろ
アスペに触るな
移動先は、こことかどうだい?
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
http://peace.2ch.net/test/read.cgi/tech/1402707917/ 102 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/20(金) 21:50:15.27 ID:SjyiHfrF
Objective-C書いていると、どうしてこんなこともできないのとか
どうしてこんなクソな命名規則のクラス作れるんだろうとか
よく驚くよ
103 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/20(金) 21:58:47.59 ID:M/JwZqVI
メインフレームを経験すれば大抵のクソはカレーに見えるようになる
104 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/21(土) 09:57:13.83 ID:UQCfn4i5
Andrew NGもヤツらが送り込んだ手先
105 名前:デフォルトの名無しさん[] 投稿日:2014/06/21(土) 15:14:23.35 ID:YxaWkchc
またRubyが勝ってしまったのか
>>781 そうそう
JSと関係する領域を広く包括することでこのスレは最も生産的になるのだから
対象を異常に狭めることにはむしろマイナスの効果しかない。
生産性よりも自分が他人に偉そうにできる機会を躊躇なく取るのが自治厨荒らし
はっきり言えるのはこいつは絶対仕事が出来ないということ
もっとも豊かな発見というのはえてして脱線や寄り道の中から生まれてくる
だからスレをなるべく自由に保つことが大事
仕事の出来ない自治厨は自由の豊穣な果実を知らないからこそ自治厨なのだ
ID出れば少しは静かになりそうだな
テンプレは
>>5が最新かな
>>5は破棄されました。
あれはクズです。考えた人は頭がオカシイです。
その証拠に誰も賛成してません。
テンプレに
>>5の諸注意を付け加えてもいいかも
しばらくは荒らしも寄り付かないだろうけど、Web制作板のスレの人数が減ったら荒らしに戻ってきそうだ
諸注意どころか
>>767に昨年の暴れっぷり加筆して載せてもいいと思う
いずれにせよ埋まるまでは一応ここ使おうぜ
>>795 昨年の暴れっぷりがわからないけど、テンプレ案として提案すれば採用してもらえるかも
ナイス
これでゆっくりJSについてだけの会話が出来るな
もうプログラム板にスレ立ててもいいんじゃね?
ここに留まる理由もないし
荒らしをほっといて行こうぜ
次スレたてるのはちょっと早いかな
いつもの人がjsfiddleにまとめてくれるだろうから、それまで待ってからでも遅くはない
まとめてくれる人がいなかったら自分がまとめる
他人任せかよw
早く出て行けっつってんの
>>802 お疲れ様
> (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
IDが出る板なら文面を「名前欄にレス番号を入れることを推奨」程度に留めるべきだと思う
>>799 本スレを荒らしに消化させる理由がないし、本スレを消化してからでいいと思う
それとテンプレの修正案はまだ出てくる可能性がある
出て行ってくれるのはありがたいが
そのしょうもない会話をこのスレですんな
さっさと向こうでやれ
いろんな人がいるんだろう
俺は誰がいつ立てようがどうでもいいけどね
jqueryで「ある要素が、ある要素の子孫ノードに含まれるか」を調べるには
どうやればいいですか?
>>806 お前のお仲間はIDの出るプログラム板に移動するから
お前もちゃんと付いて行けよ
テンプレに何の実効力もないと判明しているのに何故かテンプレに拘り続ける奴w
官僚主義の権化だな
まぁ関係ないからいいけど
if((a==b)||(a==c))
を一つにまとめるやり方ってありますか?
_.contains(['hoge','moge'],'moge')
→true
これがlodashの力なんだね
比較するのが2つぐらいだと
>>812のままでいいと思うけど、
それ以上になったら
>>813の方を使うかな。
>>808 これfindデシタ
基本的なメソッドなのに頭からすっぽり抜けていたようで・・
817 :
812:2014/06/21(土) 19:05:54.41 ID:???
lodashなんてあるんですね
まあ今回は4つなので普通に行こうと思います
ライブラリは何十もあるから、
その関数がどうたら何たらと続けられたら、
わからない人には苦痛
漏れは毎日、JSを見に来てる
わからないライブラリの話は苦痛だよ
どっか、よそでやってくれ
DOMはライブラリです(キリッ
自分の性格を修正するのが一番コスト低いよ
俺達は別にJSを趣味で使ってるわけじゃないんだ
生産をしようと思ったらJSに話題を局限するわけにはいかない
言語マニアみたいな人はプログラム板に既にあるJSスレにいればいいんじゃないの
>>821 > わからない人には苦痛
そうなんですね。苦痛なんですね。
その原因は、わからないからなんですね。
勉強しましょう。
「ライブラリの質問でないのに、ライブラリ使用を前提とした回答するのは質問者の意にそぐわないのでは?」と思うことはある
記者に直接聞けよバカ
>>826 たとえば構文エラーがjsファイルのどこかにあれば、実行前にエラー出るじゃん?
つまり明らかに実行前に一度ファイル全体をスキャンしてる
頭から詠み込んで逐次実行するというのとは異なる
以前このスレで、var f = func()と、
関数をいったん変数に代入するのは、
読みにくいだけで意味がない、という書き込みがあったが、
下記のサイトの22番では、速いと書いてある
関数を何回も呼ぶなら、考えてもいいかも
ただ、10番で、配列・オブジェクトの作成は、
[], {} よりも、new の方が速いと書いてあるのは、
逆じゃないのか?
三浦仮想研究所
ttp://next-nex.info/?s=190
ライブラリの質問もここでいい
その種の合理性のないベンチマーク結果に基づいた最適化は
簡単にひっくり返るのでいい最適化とは言えない
そうすれば速くなるに決まってることをするのがいい最適化
>>828 インタプリタも一度読み込むんですね・・・
ありがとうございます
>>829 試してないから憶測だけど、
この22番はグローバル名前空間を検索するよりローカル名前空間を検索するほうが速いってことを言いたいんじゃないの?
2次元配列を、以下のように作成できますか?
var arr = new Array(i)(j);
それとも、i++ でループしながら作成する?
出来ない
というか試したらできなかった
JSは2次配列をサポートしろよ早く
Arrayを連想配列のように使うと、
var arr = [];
arr[4] = 4; arr[15] = 15;
arr.length = 16 となった
使わない要素も、確保されるのか?
メモリがもったいないなー
千個のインデックスの中で、20個ほどのkey, valueを、
動的に確保・解放しながら、一覧表示もしたい
(key, value は共に整数型です)
arr[500] = 500; arr[1000] = 1000;
どうすれば効率的か?
837 :
836:2014/06/22(日) 18:23:08.43 ID:???
>836 自己レス
オブジェクトの連想配列を使うのか
var arr = {};
for(var key in arr) で、すべてのプロパティを取り出せる
arr.length = undefined になるけど
>>836 使ってないとこは確保されてないからメモリの無駄はないよ
lengthはそういう仕様
hoge: {
setup: {
}
}
みたいなコードがあり、エディタでhoge.setupに移動したいとします
それをhoge.setupで検索してジャンプしたいです
今はそういうものがないので、setupで検索しますが、setupメソッドが複数の場合、
見つけるのに手間がかかります
いい方法があれば教えて下さい
使っているエディタはsublime text2です
どうでもこといいですが、メソッドなので
setup: function(){
}
でした
11111111111*11111111111
をJSで計算し、指数表記ではない数字で表示したいです
どうしたらいいですか
自分で実装しろ
やり方を聞いているんですが?
>>841 JSの浮動小数の仮数部だけで表せるのは
9,007,199,254,740,992 まで。
君の示した演算は
123,456,790,120,987,654,321 になるので無理。
845 :
836:2014/06/22(日) 19:27:38.28 ID:???
>>838 そうなの?でも、一覧表示するのに困った
全要素をトラバースして、undefined 以外を取り出すの?
要素数は20ほどだが、arr.length = 1000 となり、
遅くならないかな?
arr[500] = 500; arr[1000] = 1000;
>>841-844 Python, Ruby には、無限多倍長整数があるが、
JSには無いの?
>>836 >>838 ただし、(挙げられた用途には関係ないだろうが)
index 0 から順に埋めておかないとパフォーマンスに大きく影響することはある
>>845 arr = { 500 : 500 };
Are = { 1000 : 1000 };
ではいかんの?
txtファイルを読み込めるhtmlのタグってありますか?
txtファイルをJSで読む込むって意味じゃね
憶測で型っても仕方ない
質問者のレス待ち
このすれもPHPスレみたいな雰囲気にしてもいいですか?
853 :
847:2014/06/22(日) 22:06:32.15 ID:???
>>847はスマホで書いたから間違えてたのに今気がついた、すまんこ
二個目、Are出ではなくarrですな
855 :
836:2014/06/22(日) 23:59:16.83 ID:???
>>847 20個ほどの、key, value を、
動的に確保・解放しながら、一覧表示もしたい
key, value は共に整数型で、key は千まで使う
結局、歯抜けの配列を使うか、
オブジェクトのプロパティに追加・削除するか、
どちらが良いかな?
プロパティの削除は遅いから、削除せず、
削除フラグを立てた方がいいとか、聞くが?
javascriptのオブジェクトはc言語のポインターみたいなものですか?
違うし、同列に比較できないでしょソレ。
javascript以前にポインタ理解してないだろコイツ
チンポインタ
ビッグインディアンとかリトルインディアンとか知らない世代なんだろうね。
>>844 ありがとうございました
自分でビッグインディアンの計算処理を書くのは荷が重いのでライブラリ探した方がいいですね
chromeでホイールスクロールをスムーズにするのは
JSでは無理ですか?
スクロールを発生前に検知してスムーズ処理すればできそうですが
onscrollはスクロールが発生した後に発生するので
無理じゃないかと自分では思いますが
あ、なるほど
それならなんとかできるかも
ありがとうございました
>>864 可否はともかく、その手の挙動は嫌う人もいるのでデフォルトOFF、オプション扱いにしてほしいな
インディアン?
エンディアンではなく?
ビッグインディアンとかリトルインディアンとか知らない世代なんだろうね。
868 :
847:2014/06/23(月) 12:18:01.60 ID:???
俺もエンディアン派だがインディアンでもおかしくないとは思うな
ネイティブの発音でもエンディアン言ってるぞ
ネイティブアメリカンって言え
カタカナ表記するから揺れが生じる
"big endian" で問題ない
ナバホ族
stage[a][b]の中身はぷよの種類です
2以上は普通のぷよです
コードから狂気を感じるレベル
ネタじゃなくてマジで
var temp,x[],y[]
こう書けばx =[],y=[]と同じになるのか
はじめて知ったわ
x{}
って書いたらx={}と同じになりますか?
ちょw
jsbinで
var x[],y[];
って書いたらwarningが一杯出ましたけど?
jsfiddleよりjsbinの方がいいよ
>>878 jsfiddleでもGC34でSyntaxErrorになりましたが…
環境に問題があるのでは?
880 :
874:2014/06/23(月) 20:02:45.80 ID:???
まだ実行してないのでエラーがでるかどうかはわかりません
>>880 未テストのコードで質問しないで下さい。
明らかに初歩的なミスであり、自己チェックで見つけられるミスです。
>>873 普通に汚いコードだね。
やってる内容がさっぱりわからんし
重複コードあるし
変数のスコープがめちゃくちゃ
インデントもおかしい。
まず基本的な所を直してから
出直しだね。
>>879 何を言っているのか分からないけど
var temp,x[],y[];
なんて書き方は出来ないってこと
javascriptの綺麗なコードの書き方はGREEのkyo_ago先生のgithubのコードを読みましょう
javascriptの最先端の情報はazu_re先生のtwitterをチェックしましょう
基本的にこの2人が日本で活躍する世界で名の知れているJavaScripterです
こうやって個人名上げる奴はクズ
886 :
847:2014/06/23(月) 23:10:39.27 ID:???
お互いを参照するようなオブジェクトを作ると、どんなリスクがあるでしょうか?
var a = {};
var b = {};
a.friend = b;
b.friend = a;
のように
再帰で参照したら永久ループになるくらいかな
特殊な例じゃないから、再帰側で気を付けるべきことで
特に避けることでもない
>>883 >878の3行目と4行目に関連性はないのですか?
jsbinのみでwarningが出たと読めましたが
「もし書いている途中にwarningが出たらここに載せたりしないだろう」と判断してのことで
jsfiddleでもリアルタイムでHintするかどうかは知りません
>>889 jsfiddleにコードがUPされている状況で「jsfiddleを試さず、jsbinだけ試している」とは想像していませんでした
>>889 あと、コンソールログはWebサービスに依存しません
>>891 jsbinはコンソールログではなく、jshintを実行してwarningを出すのです
まさかエラーを吐くほどひどいコードとは思ってませんでしたが。
やはりjsbinの方がいいですね
>>892 大先生とやらがどんなモンかは知らないが
「大先生」の権威にすがるお前がゴミであることだけは確か
というか色々試した結果jsbinに辿り着いたので
jsfiddleよりjsbinの方がいいのは俺にとっては自明なんです
(その後jsfiddleが超進化していなければ)
お前がjsbin使いたいならそれで良いと思うぞ
普通はコンソールログ見たりしてデバッグするがそんなスキルすらない奴にとってはね
アホすぎワロタ
自作プログラムならコンソールで確認するに決まってんだろ
jsbinではいちいちコンソールを開かなくてもリアルタイムでエラーログを確認できる
http://jsbin.com/cecexevu/1/edit 同じコードをコピーするとwarningだらけなのが一目で分かるだろう
これがjsbinの凄さなんだね
まさかデバッガ開いて「エラーが確認できる」と抜かしているとは思いませんでした
そりゃjsbinならデバッガを開かずに確認できるからなw
エラーログのパネルもあるから
全てのコード投稿サイトがログパネル実装してると思ってるのか?
こんな奴が作ったプログラムに近寄りたくないな
アホすぎワロタ
馬鹿って存在自体がコストだよな
やりとりに実りがないわー
俺は単にそうした方がいいことをそうした方がいいよ、と教えてあげただけ
聞くも聞かないも自由だが頓珍漢な絡み方してくんな
面倒くせえ
>>893 SyntaxErrorをwarningと称するのが変だと思っていましたが、そういうことですか
警告が出るだけマシですが、気になる仕様ですね
正直、jsbinを100%信用しているわけではありませんし、ブラウザのコンソールログは見て当然だと思います
SyntaxErrorは気がつかなかければいけない部分ですし
エラーは普通にコンソールパネルに出るよ
上の方にパネルをオンオフするボタンがあるから
それでコンソールを表示できる
開発環境なのにデバッガを開かないといけないのは美しくないだろう
それを美しくないと判断できないといけない
SyntaxErrorをwarningと認識するのはまずい
未修正でも動くwarningと動かないerrorは区別しないと
「SyntaxErrorだと思いませんでした」ってどうどうといえることではないよ
そんな奴いなくね?
どの書き込みを見てそう思った?
ホタンに判定用にクラスを付ける場合、
CSS指定用のクラスと、判定に使われるクラスがごっちゃになりますが
気にしなくていいのでしょうか?
<button class="edit">
で$('.edit').on〜
するような場合です
>>910 問題ないと思うが、どうして問題があると思った?
WAI-ARIAに該当属性があれば、そちらを使った方がいいとは思うが…
>>911 バーカ
それは俺だよ
エラーとwarningの違いなんて当たり前に分かっていることは言うまでもない
馬鹿はじっとしとけ
>>913 では、エラーを吐く程ひどいコードだと思わなかったのはなぜ?
warningだけじゃなくエラーを吐くほどひどいとは思ってもみなかったって意味だろ
アスペ野郎は「なんかおかしいな」と思ったら
まず最初に「俺がおかしいのかな?」と疑う癖を付けろ
>>915 エラーと認識できなかったことを認めてるよね
SyntaxErrorであるにもかかわらず、warningとして認識していた
おわかり?
お前はプログラムなんて今すぐやめてもっと本を読め
お前に必要なのは読解力
文体からしていつもの荒らし
ライブラリの質問をするなとロボットのように言い続けていた奴が消えたとたん
意思疎通すら困難なレベルのアスペが現れた
これが示す意味とは
わかりやすいな
あと少しの辛抱だ
>>910 別にclass属性はCSS以外に使っちゃいかんなんて縛りはない
…なかったよな?
なんとなくイケてない気がしたのですが
そんなに気にする人もいないようなのでこのままにします
ありがとうございました
良く知りませんが、現在策定中のものなら使えません
そのワイワイエリアってやつを使ったらクラス指定せずにイベントをセットしたりできるんですか?
>>926 できない
class属性の代替を探していたのでは?
ちなみにclass属性値に何か書いてあると
WAI-ALIA的には何が問題なの?
イベントを付ける為だけのクラス指定ってどうなんだろう?
という疑問からなので、
それを使ってイベントを付けることが目的でした
>>928 別に問題はない
WAI-ARIAは標準だから他者にわかりやすいだけ
>>928 専用の属性を使用した方がわかりやすいという理由からWAI-ARIAを勧めたのだが、何か通じてない気がするな
>>931 WAI-ARIAはスクリーンリーダ用じゃない
じゃあ何用なんです?
役に立つのか立たないのか分からないドキュメントをわざわざ読むのは面倒だからです
文脈情報を付け加えてアクセシビリティを向上させる、
つまりごく普通の機器を使っている健常者にはさほど意味のないものだと理解しましたが違いますか?
>>937 理解できるかできないのかわからない相手に説明するのも面倒なわけだが
あんたに教える意義を見出せないので回答は他の人に期待してくれ
自分で情報の価値を測れないなら諦めるのも一つの手だ
じゃあ別にいいです
あなたの回答からは「これは役に立つかも?」という印象は全く持てませんでした
何故要約すら出来ないのでしょう?
別にいいけど
与えられた情報を読むのは当然だと思ってた
当然ではありません
情報の確度はまちまちなのだから、短い書き込みの中で
「これは読む価値のあるものだ」と理解させる必要があるのです
自助努力を面倒くさがる人はこんなものだろうな
仕様書が情報の確度が低いと判断するのはどうかね
いいえ
むしろ役に立たなさそうな情報をフィルタすることが自助努力なのです
>>932さんの言うとおり、
「なんだか的が外れている」と思います
現状たいして困ってもいない問題に対してくそ長いドキュメントを持ってくる人は
ちょっとおかしいんじゃないかと思いますね
そろそろ次スレの時期だね
テンプレは
>>810が最新かな
提案があるなら急いだ方がいいと思う
テンプレ至上主義者はプログラム板に移動するんだろ
既にスレが立ってるから、
この板のスレではあれを再利用するか
いくつぐらいで次スレ移行したものかな
970ぐらい?
この板のことならギリギリでいいでしょ
移民組は好きにしろ
いちいちうるさいな
全部にレスしないと気が済まないタイプか
文脈があいまいだからだろ
WAI-ARIAを書けよw
popoverでサブメニューのアイテムを選択した時に
別のpopoverを開くのではなく、
そのpopoverを上書き的に書き換えるアプリの例ないですか?
iOSではモーフィング的に書き換えているっぽいですが
JSでどうやるのかいまいち分からないのです
>>948 あっちからもテンプレ入ってるし入れとくべきだと思う
ってかこれまで入ってなかったのか
ハンドラが増えれば増えるほどJSのパフォーマンスは落ちると思うのですが
clickハンドラが増えてもclick時以外のパフォーマンスが落ちることはないですか?
もともとwindowオブジェクトに全部入ってるんじゃないの?
>>955 あのスレも最初はJavaとJavaScriptが区別できない人がJavaスレのつもりで立てたという
ちょっと微妙な経緯があるからな。まあでも今はテンプレ入りでいいかも知れない
マウス直下の要素を消すと、その要素の下にある要素があらたにマウスの下になりますが、
その時、mouseoverは発生するのでしょうか?
>>959 html
<div id="hoge0" style="background-color:red;width:40px;height:40px;position:absolute;left:0px;top:0px;"></div>
<div id="hoge1" style="background-color:blue;width:40px;height:40px;position:absolute;left:0px;top:0px;" onclick="$(this).remove();"></div>
script
$('#hoge0').mouseover(function(){ console.log(true); });
自分の環境ではマウス静止させて要素を消すと発生しなかった
ちょっとでも動かすと(要素外→要素内しなくても)発生
>>960 マウス動かさずにキーボードの page up/downでスクロールしたとき
mouseover がすぐ発生するブラウザと発生しないブラウザがあるね
html文書で要素をまたいだ文字列検索をかけたい
html要素のinnerTextを読めばマッチする文字列があるか存在確認はできるのだけど、それだとDOMの構造の中での位置情報は調べようがないから困ってます(つまりマッチした文字列の場所へスクロールしたくてもできない)
何かうまい方法があるんでしょうか
>>960 やはり、わりとトリッキーな動作なので、発生しないのですね
ありがとうございました
964 :
836:2014/06/27(金) 04:45:52.70 ID:t6choWTs
>>836-855 50個以下のdictionary(key, value)を、
動的に追加・削除しながら、一覧表示もしたい
key, value は共に、1〜千までの整数
歯抜けの配列を使うか、
オブジェクトのプロパティに追加・削除するか、
どちらが速いかな?
皆さんは、どちらを使っていますか?
動的なdicを、どう処理してます?
それと、プロパティの削除は遅いから、削除せず、
削除の印だけを付けた方がいいとか、聞くが?
キーが1-1000までの整数なら配列使う
966 :
Name_Not_Found:2014/06/27(金) 09:32:34.00 ID:Q8Pmajtu
なんにでも名前が着いているわけじゃないからなあ
これは有り物ではなく自分で作ってそうだな
969 :
Name_Not_Found:2014/06/27(金) 20:12:09.82 ID:Q8Pmajtu
質問主です。
自分もソース見て、DL-Siteのオリジナルだなぁ〜と思いました。
まったく同じものじゃなくてもOKです。
こんな感じの機能を実現できそうなものがあれば教えてください。
「ギャラリー」「スライドショー」「コンテンツスライダー」
「プレビュー」などなど、なんかイメージと違うんですよね……。
言語化できないってのは、検索で自己解決できないので困りますね〜。
名前を付けるとしたらcontent viewerかな
山田祥寛(よしひろ)
10日でおぼえる jQuery 入門教室
この本のLESSON 17 のフォトギャラリーでは、
リスト表示されたサムネイル画像をクリックすると、
マウスのclick イベントが発生する
だから何!?
誤爆か?
>>948 ・指摘回答時に暴言、煽りはご遠慮下さい。
・求める答えが得られなかった場合に回答者を批判するのは止めてください、時には答えではなく、アドバイスが寄せられる場合もあります。
のようなテンプレを追加してほしい。
回答者同士で煽りあったり、質問者が回答者に暴言を吐いたり、見ていて悲しい。
そんなことをテンプレに書いても何の意味もないと理解しろ
このように罵る人がいるからルールは必要かもしれないね
煽りではなく事実を言っているだけだが
今のテンプレもごちゃごちゃしてて読みづらい
シンプルで効果的な文言にするべき
そうじゃないと、
>>976がいうように効果は期待できないだろう
今のテンプレだって守られていれば、こんなスレの雰囲気にならない
>>979 だいぶ前に一回すごいシンプルになって良かったんだけど
すぐにいっぱい書くべき派が優勢になって元に戻っちゃったな
たぶんまだ、テンプレの若いリビジョンに残ってるんではなかろか
悪意ある奴は何書いてあろうとテンプレどころか板ルールすら守らん
そもそも今回の修正も定期的な荒らしの自演レスの名分潰すのが目的だけど
仮に実際書き換えられたところで当人はガン無視して継続するだろ
>>975のいう悲しい部分は2chである限り防ぎようがないよ
ID出りゃ多少は緩和されるだろうけど
テンプレを守る人もいれば守らない人もいる
そもそも他人を煽らない、暴言を吐かないというのはマナーの問題であってルールとして明文化しなくとも守って当然のもの
ただし、2ch特有の「荒れて当たり前」という風潮が現在の諦めにも似た状況を作り出してる
マナーを守る人が積極的になればこの状況は打開できるし、実際に以前はそんな風潮だった
そういう意味できちんと明文化することは意味があると思う
今回の荒らしは一応、Web制作板に残ると言っているし、仮に戻ってきてもNGIDで封殺できるので大きな脅威にはならないと思う
頓馬な回答に対して率直な反応をする回答者を
荒らし呼ばわりする無能が一掃されることで
このスレも大分マシになると思う
lodashの開発ページが v3.0.0-preになってるね。
https://github.com/lodash/lodash/ あれ? 2.5.0はどうなった?って思わなくはないけど、
まあきっと3.0.0を出した後に作るのだろ。
3.0.0 ・・・ レガシーブラウザを切り捨てた版
2.5.0 ・・・ レガシーブラウザ対応。だが3.0.0の機能の一部は実装されてない(できない)
こういう予定だったはず。
Compatibility build (minified)
For new & old environments like IE ? 8 & PhantomJS
これがレガシーにも対応するのかな
>>986 2.4.1以前ではそうだった。
で、そのリンク先は2.4.1なわけで、
今のmasterのREADME.mdは信用してない。
ま、そのうちアナウンスあるでしょ。
様々なハンドラの中でpreventDefaultやstopPropagationをしていて
そのせいでイベントシステム全体の見通しが悪くなっています
想定外の動作が、preventやstop〜が原因かもしれないけど
そのpreventやstop〜を取り除いた時に何が起きるか、もう覚えてないって感じです・・。
こういうのどうやってますか?
複雑になりすぎてて、
不具合への対処が、別の不具合を引き起こすって感じです・・
>>992 お疲れ様
次スレを立てようと思ったら既に立っててびっくりした
1000
ume
松