X



+ JavaScript & jQuery 質問用スレッド vol.8 +
レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2017/11/10(金) 22:44:30.04ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/hp/1467906819/
0643640
垢版 |
2018/11/18(日) 12:33:14.23ID:???
なんか質問者が俺の疑問に答える前に変な流れに
なりそうだから先に書いておくわ

モジュール間の依存性を高めることなく連携させたいなら
jQueryの機能のカスタムイベントを使えば良い

関数をグローバルに定義する必要も
importも使う必要もない

だがそもそも>>636のようなことをするのがおかしい
0644Name_Not_Found
垢版 |
2018/11/18(日) 13:31:28.90ID:???
>>641
すみません、後々jQueryがらみかなと

>>642
$(function()は理解してましたが中に書くほうがいい気がしまして
それが普通とあれば解決です
詳しくありがとう

よくわかりました
0645Name_Not_Found
垢版 |
2018/11/18(日) 13:55:38.32ID:???
スコープの勉強した方がいい
0649Name_Not_Found
垢版 |
2018/11/18(日) 14:35:20.94ID:???
>>648
関数内で定義された関数を外部から呼び出す方法を知りたいって質問に
そんなことするのは間違ってる、おかしいなんてのが答えになってるのかね
勝手に問題を変えちゃいかんだろう
0650Name_Not_Found
垢版 |
2018/11/18(日) 14:38:49.17ID:???
>>649
何いってんの? イベント使えばできるし
そもそもそんなことをする必要はないって話だろ

外部から呼び出すのが間違ってるんじゃなくて
その必要がないだろって話をしてる
0651Name_Not_Found
垢版 |
2018/11/18(日) 14:39:29.51ID:???
だいたい関数内で定義された関数を外部から呼び出す方法を知りたいって質問に
関数を外部に出せばいいっていうのは、勝手に問題を変えてることになる
0652Name_Not_Found
垢版 |
2018/11/18(日) 14:44:24.92ID:???
>>651
君はそんな回答してないじゃん
642はそういう回答しているが
0653Name_Not_Found
垢版 |
2018/11/18(日) 14:48:45.75ID:???
>>652
だから回答の前に、なんでそんなことをしたいのか聞いたんだが?
話の邪魔するなら消えろよ

モジュールの依存性を減らすには、グローバル関数に
しないほうが良いしそのやり方もある。
もっといいやり方があるんだが、そのためには
何故そうしたいのかの理由がわからないことには適切な答えは出せない

だめなやり方しか知らないなら、他人にとって害にしかならないから
答えないでくれないかな
0654Name_Not_Found
垢版 |
2018/11/18(日) 14:51:05.23ID:???
jQueryの機能のカスタムイベントと言っても
関数が外部ファイルで独自イベント起こす方がhtmlからじゃ
結局質問と同じことにならないか?
0656Name_Not_Found
垢版 |
2018/11/18(日) 14:53:26.30ID:???
>>653
635と636の質問内容から飛躍しすぎじゃないの?
スコープが分ってればそんな質問も出なかったと思ったんだけど?
何そんなに怒ってんのよ?
0657Name_Not_Found
垢版 |
2018/11/18(日) 14:56:56.99ID:???
怒ってないが? jQueryを使ったもっといいやり方があるから
その話をするじゃまをするなと言ってる
0658Name_Not_Found
垢版 |
2018/11/18(日) 15:04:50.82ID:???
いやスコープはわかってるが外は望ましくない(と思ってた)からいい方法ないか?
という話だぞ

なんでそんなことをしたいのかは聞かなければならないことなのか?
すでに答えてる人いるし
0659Name_Not_Found
垢版 |
2018/11/18(日) 15:07:24.43ID:???
>>658
スコープがわってたらあんな質問するわけねーじゃんw
0660Name_Not_Found
垢版 |
2018/11/18(日) 15:09:45.39ID:???
>>657
ならそれを書けばいいのに何もったいぶってるのかな
質問時点でコードも書かれてるのだからある程度意図はわかるだろうに

その点>>642はさすが、先ず解決に至ってる
別な方法はまたそれで示せばいい
0661Name_Not_Found
垢版 |
2018/11/18(日) 15:13:00.57ID:???
赤の他人がワーワー言った所でなんの役にも立たんわw

ただjQueryを使ったもっといい方法があるということだけはここに残しておこう
俺のレスを見てるはずなのに無視してるってことは、
何か(良からぬ)意図があってその話題をしてる可能性があるからな
0663Name_Not_Found
垢版 |
2018/11/18(日) 15:52:39.68ID:???
>>640,643
今回はソースを全部質問者が用意してるんだからいとも何もかもソースよめばわかるだろ
だから単に回答をかいてあげればよかっただけなのに
上から目線で否定だけするならスレチだから消えてくれ

>>640でまずそれをききたいって何をききたいのかさっぱりわからんし
日本語不自由かよ
0664Name_Not_Found
垢版 |
2018/11/18(日) 16:10:44.17ID:???
質問者のソースの場合は initCheck が $('#chk') ってチェックボックスにからむイベントだから
>>638 でもいうようにグローバルにする必要はなく
「ここならエラーなし」の場所にかくほうがきれいだけど

それとは別に一般論として
「HTML内から外部jsの関数実行
または
2つの外部jsで、片方から片方の関数実行
はどうやるのでしょうか?」

に対しては >>642 と回答するしかない
0665Name_Not_Found
垢版 |
2018/11/18(日) 16:20:43.19ID:???
$(function() から出すという修正がOKなら
イベントを使ってやり取りするって手もあるだろ
0666Name_Not_Found
垢版 |
2018/11/18(日) 16:34:55.13ID:???
質問の意図を理解して順序立てて説明すればね
いきなり「そんなやり方間違ってるjQuery使え」ってアホかと
0667Name_Not_Found
垢版 |
2018/11/18(日) 16:45:19.54ID:???
>>665
ソースかいてやればいいのにそれだけいってもわかるわけ無いだろ
質問者のレベルにあわせて回答してやれよキチガイ
0668Name_Not_Found
垢版 |
2018/11/18(日) 16:46:14.05ID:???
だから質問者が来るのを待ってると言ってるんだが
0669Name_Not_Found
垢版 |
2018/11/18(日) 16:47:31.20ID:???
無視されてる時点であいてにされてないか理解できてないってのもわからにアスペ
0670Name_Not_Found
垢版 |
2018/11/18(日) 16:50:33.53ID:???
開発の会話をきいてるだけで中途半端な知識だけあってコードかいたことがない営業みたい
0671Name_Not_Found
垢版 |
2018/11/18(日) 17:04:05.95ID:???
chrome 拡張機能で jQuery を動かして
ブラウザゲームの特定の表示がでたらデータを抽出(とりあえず localStorage にでも保存)したいんですけど

$('#result').on('load', () => {
console.log("event start");
});

とかいてもなぜか実行されません
はじめから HTML にかかれてるわけじゃなく動的に生成されるHTM:Lだからな気がするんですが
#result って要素が動的に生成されたときに何かを実行するってどうかけばいいんでしょうか
0672Name_Not_Found
垢版 |
2018/11/18(日) 17:16:04.75ID:???
最初からある要素にデリゲート
0673Name_Not_Found
垢版 |
2018/11/18(日) 17:37:31.20ID:???
>>672
ありがとうございます

ttp://js.studio-kingdom.com/jquery/events/delegate
これでいいんでしょうか?

$("body").delegate(".enemy_info", "load", () => {
console.log("enemy_info");
});

とかいても実行されないです
chorome の要素には確かに

<div class="enemy-info">

が存在してるんですが load イベントを起こさずにHTMLを生成することができるんでしょうか
それとも deligate対象は body だとダメなのでしょうか
0674Name_Not_Found
垢版 |
2018/11/18(日) 17:49:18.43ID:???
>>672
んー delegate の説明を読むと
デフォルトで $document だったものの範囲を制限できるってだけで
別に後から生成されたものにイベントがセットできるだけではない気がするのですが…
本当に delegate だけで load されるようになるんでしょうか…
0675Name_Not_Found
垢版 |
2018/11/18(日) 17:51:05.58ID:???
要素タブは現在のDOM構造だからソースタブで最初からあるかどうか見なよ。
あとメソッド名はonのままでいいよ。delegateの機能はonに集約された。
0676Name_Not_Found
垢版 |
2018/11/18(日) 17:59:51.15ID:???
>>671,673-674
delegate 案内している人のそれはミスリードだから無視しなさい
要素ノードが生成されても、loadイベントなど発生しないし、loadイベントはバブリングしない
彼が勝手に誤解しているだけだから参考には値しない

君が必要としているのは、MutationObserver
https://developer.mozilla.org/ja/docs/Web/API/MutationObserver
0678Name_Not_Found
垢版 |
2018/11/18(日) 20:11:45.45ID:???
>>677
Chrome拡張機能でjQueryに拘る理由ある?
0679Name_Not_Found
垢版 |
2018/11/18(日) 20:13:56.25ID:???
出来ないってことですね分かりました。
0680Name_Not_Found
垢版 |
2018/11/18(日) 20:15:41.87ID:???
こういう思い込みが激しいところが学習が進まない理由なんだろうな
0681Name_Not_Found
垢版 |
2018/11/18(日) 20:21:28.75ID:???
他所で「jQueryにはMutationObserverがないと聞いたのですが」で質問するタイプっぽい
0682Name_Not_Found
垢版 |
2018/11/18(日) 20:44:33.94ID:???
>>681
そこでjQueryでの書き方を教えて貰って、「もう5chは信用しません」と憤慨するところまで読めた
0683Name_Not_Found
垢版 |
2018/11/18(日) 21:36:49.33ID:???
>>676
いろいろ試したけどうまく動かない

サンプルコードほぼそのままで外側の content とか warapper とか動かなさそうなのあったので
指定してもダメで document ぜんたいにしてもダメなんですよね
直下の要素が変化したときしかイベントはとんでこないんでしょうか
chrome 開発ツール眺めてるとアニメーションごとに DOM ころころかわって(紫色になる)んですが…

target がまだ生成されてないせいかと思って $(() => {}) でかこってみたりもしたけど
1回も console.log にとんでこない…

$(() => {
const target = document;

// オブザーバインスタンスを作成
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
console.log(mutation.type);
});
});

// オブザーバの設定
const config = { attributes: true, childList: true, characterData: true };

// 対象ノードとオブザーバの設定を渡す
observer.observe(target, config);

// 後ほど、監視を中止
observer.disconnect();
});
0684Name_Not_Found
垢版 |
2018/11/18(日) 21:40:13.90ID:???
ついでに質問なんですけど javascript って slepp みたいなのないんでしょうか

>>676 のページの情報だけだとイベントで取得するのは自分には無理そうなので
setTimer 使ってよむのを遅らせれば enemy-info のDOMがとれるので
1 秒おきぐらいにループで DOM をみはって情報を得ようかなとも考えてるところです
0685Name_Not_Found
垢版 |
2018/11/18(日) 22:20:00.09ID:???
サンプル通りにobserveしたすぐ後にdisconnectしちゃったら監視も糞もないし
childList: trueだけではtargetに対して追加されたものだけを監視するのでsubtree: trueも必要

あとありがちなMutationObserverのハマリどころとしては
先にdocument fragmentを作ってからDOMツリーに追加されてる場合はMutationRecord.addedNodesには直にDOMツリーに追加した頭の要素のみが列挙される点
0686Name_Not_Found
垢版 |
2018/11/18(日) 22:27:32.87ID:???
あ subtree は true にしてました
かきわすれです

>サンプル通りにobserveしたすぐ後にdisconnectしちゃったら監視も糞もない
なるほど!
天才です!
動きました!!!
0687Name_Not_Found
垢版 |
2018/11/18(日) 22:35:14.87ID:???
コードをコピペするだけで説明は全く読んでないだろ
質問しても、アドバイス通りに対応するだけで中身を理解しようとしないから、そうなるんだ…
0688Name_Not_Found
垢版 |
2018/11/18(日) 22:37:53.83ID:???
すいません…

とりあえず一言動いてくれたらそれから
オプションいろいろ変更してみて使い方おぼて行きたかったんですけど
1回も動かなかったので…

サンプルコードに終了コードはコメントアウトしててほしかった…
まずはコピペで動く状態にしてほしくないですか?
0690Name_Not_Found
垢版 |
2018/11/18(日) 23:42:22.49ID:???
>>688
>>676のリンク先にdisconnect()の説明が載ってるから、それで分かるだろ
説明を読みたがらないコピペプログラマの自己勝手な都合にしか見えんぞ
0691Name_Not_Found
垢版 |
2018/11/18(日) 23:46:00.67ID:???
>>684
const sleep = time => new Promise(resolve => {
setTimeout(resolve, time);
});

console.log('4秒後にうんこと叫びたい…');
await sleep(4000);
console.log('うんこ!!');
0693Name_Not_Found
垢版 |
2018/11/19(月) 03:01:21.11ID:???
Ruby で、Nokogiri, Selenium WebDriver で、ブラウザを自動操作しているけど、
たぶん、その要素が現れるまで待つこともできる

タイムアウトも設定できる
0694Name_Not_Found
垢版 |
2018/11/19(月) 09:14:57.70ID:???
SeleniumはJava製。
公式ドライバーもJava
コミュニティ製の各言語バイントはRubyのドライバーよりNodeのドライバーのほうがよくメンテされている。

まあNodeならSeleniumなんて列車砲持ち出さなくてもPupetteerでらくらく家財宅急便だけとなwww

しかし↓の記事読むとRubyもやるじゃんと思ってしまった。

世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/
0695Name_Not_Found
垢版 |
2018/11/19(月) 10:29:01.09ID:IhOqOzLs
質問です
text()で取得した内容を判断して処理したいのですが
濁点、半濁点等が入っていると上手く動きません

よろしければご教授下さい。

html

<p id="hoge">ガギグゲゴ</p>

script

hogegoge = $('#hoge').text();
if(hogegog == ガギグゲゴ){
 処理 ←ここの処理に行かない
}else{
 処理 ←こっちらが処理される
}
0696Name_Not_Found
垢版 |
2018/11/19(月) 10:31:22.79ID:IhOqOzLs
>>695です
先のはスプリクト間違いです
実際はこちらのスプリクトです。

html

<p id="hoge">ガギグゲゴ</p>

script

hogehoge = $('#hoge').text();
if(hogehoge == ガギグゲゴ){
 処理 ←ここの処理に行かない
}else{
 処理 ←こっちらが処理される
}
0697Name_Not_Found
垢版 |
2018/11/19(月) 10:41:06.95ID:???
「ガギグゲゴ」は本当に「ガギグゲゴ」なんでしょうか?
0698Name_Not_Found
垢版 |
2018/11/19(月) 10:54:23.10ID:???
'ガギグゲゴ' 又は
"ガギグゲゴ" 又は
`ガギグゲゴ`
0700Name_Not_Found
垢版 |
2018/11/19(月) 11:04:32.00ID:IhOqOzLs
>>697 「ガギグゲゴ」は本当に「ガギグゲゴ」なんでしょうか?
とはどういうことでしょうか?

>>698
ガギグゲゴ部分は囲ってありました
すいません。
if(hogehoge == 'ガギグゲゴ'){
0701Name_Not_Found
垢版 |
2018/11/19(月) 11:19:14.04ID:???
ガギグゲゴの前後に空白文字が入ってる
「ガ」ではなくて「カ」+濁点だった
0702Name_Not_Found
垢版 |
2018/11/19(月) 11:26:21.55ID:IhOqOzLs
>>701
濁点が分離していました。
エディターが勝手にまとめていたみたいです。
ありがとうございました。
0703Name_Not_Found
垢版 |
2018/11/19(月) 23:11:21.77ID:???
>>664
jQueryの人勘違いしてたっぽいな
今度はphp使ってと言い出してる
0704Name_Not_Found
垢版 |
2018/11/19(月) 23:38:56.07ID:???
だから探ってたんだろ
答えもせず否定から入って不自然だった
0705Name_Not_Found
垢版 |
2018/11/20(火) 00:39:27.63ID:???
>>703
誰と勘違いしてるんだ?
俺はPHPの話なんかしてねぇよ
0706Name_Not_Found
垢版 |
2018/11/20(火) 01:47:36.72ID:???
>>695-702
結合文字列は「カ」+濁点で、合成文字は「ガ」

Mac だけは、デフォルトで結合文字列なので要注意!
0707Name_Not_Found
垢版 |
2018/11/20(火) 02:27:40.98ID:???
NFDの独自拡張とかいう聳え立つクソ
0708Name_Not_Found
垢版 |
2018/11/20(火) 06:30:04.82ID:???
文字列の比較はtrimなどをした後normalize関数を通すのが常識
横着してそのまま比較しちゃそりゃうまくいかないよ
0709Name_Not_Found
垢版 |
2018/11/20(火) 06:46:22.53ID:???
それだと違う文字に一致するだろ
0711Name_Not_Found
垢版 |
2018/11/20(火) 11:11:15.27ID:???
違う文字と一致しないといけないってケースじゃん
0713Name_Not_Found
垢版 |
2018/11/20(火) 23:09:11.21ID:???
日中韓でnormalize すると、別の文字に変わるものがあるから、危険と聞いたが?
0714713
垢版 |
2018/11/20(火) 23:10:46.49ID:???
異字体・旧字体とか
0715Name_Not_Found
垢版 |
2018/11/20(火) 23:23:52.07ID:???
おまえら常識を疑うつもりか!!
0717Name_Not_Found
垢版 |
2018/11/20(火) 23:43:29.87ID:???
バカの常識世間の非常識
0718Name_Not_Found
垢版 |
2018/11/21(水) 07:05:43.14ID:???
ここまで結合文字列の注意対策方法バカ以外に無し
0719Name_Not_Found
垢版 |
2018/11/25(日) 09:00:45.84ID:???
if( str.match() )とかで指定文字列があるかどうかを確かめてからそれをreplace()するのって意味ないですか?
文字列を2回探させるぶんムダな処理をさせてしまうことになる…?
それなら最初からreplace()だけのほうがいいですか?
0721Name_Not_Found
垢版 |
2018/11/25(日) 11:12:50.08ID:???
世の中無駄な処理ばかりだからどっちでもいい
他人に無駄と言われようがどうせソースなんか見ない
そんなことより何かを実現させるほうを先にやるんだ
バグなんかどんなアプリにも存在する
世界はクソコードで動いている
0722Name_Not_Found
垢版 |
2018/11/25(日) 12:14:43.81ID:???
大抵の場合、書いたコードを見るのは自分自身なんだ
そのためにできるだけメンテしやすく書いておくだけなんだよ
0723Name_Not_Found
垢版 |
2018/11/26(月) 06:49:21.87ID:???
実際のところメンテナンスのしやすさは簡単な話ではない。
極力シンプルなほうが良いのか、思考したままの情報が多い方が良いのか。
そういうことを考えることが時間の無駄。
自然と思いつくまま書くのが最も生産性が高い。
あえてメンテナンスしにくいように書くやつはいないから、
それでも自分にとっては十分なコードになる。
0724Name_Not_Found
垢版 |
2018/11/26(月) 08:49:17.73ID:???
自分自身も変わり続けるからねぇ
0725Name_Not_Found
垢版 |
2018/11/26(月) 09:04:55.70ID:???
自分のことだけなら、何も考える必要はないだろうな
0726Name_Not_Found
垢版 |
2018/11/26(月) 11:07:38.93ID:???
>>723
そこにコードがあるからメンテナンスしなきゃいけないんだよ。
コードがなければ(少なければ)メンテナンスするものも少なくなる

それだけははっきりしてるんだから
書き方でどうこう言う前に、まず書くコードを減らすこと優先すれば良い
0727Name_Not_Found
垢版 |
2018/11/26(月) 19:17:21.27ID:???
3ヶ月前の自分の書いたコード見てぶん殴りたくなる事もある
0728Name_Not_Found
垢版 |
2018/11/26(月) 19:18:59.35ID:???
それだけ成長してるってことやね
期間置いてもスムーズにコードを書けるなら、それはよくやったと自分をhomeてあげていいと思う
0730Name_Not_Found
垢版 |
2018/11/26(月) 21:26:36.48ID:iXoFbA7t
どうにも解決できなくて困っております( ;´Д`)エロい人お願いします。
Animate.cssを実行するJクエリ、たとえばwaypointsやScrollTriggerなどで作成したスクロールで可視範囲になってから動くアニメーションがmacOSのSafariだけで動かなかったり、動いても目的のアニメーションが実現しないのはなぜですか。他のブラウザはOKなのに
0732Name_Not_Found
垢版 |
2018/11/26(月) 21:36:26.50ID:???
safari css のサジェストが酷いな
反映されない、崩れる、バグなどお祭り状態だ
0733Name_Not_Found
垢版 |
2018/11/27(火) 01:28:48.20ID:???
漏れは、WEB+DB 106号に載っている、web-animations-js というポリフィルを使ってみたけど、
Edge では対応していなかった

Safari でも動くのは、Technology Preview 版だけかも
0734Name_Not_Found
垢版 |
2018/12/01(土) 10:10:00.92ID:???
無名関数の
funciton(){}
が長いので
f(){}
みたいに書ければと思ったのですが、

f = funciton();

のようなことはできますか?
0735Name_Not_Found
垢版 |
2018/12/01(土) 16:42:11.11ID:???
それは出来ない。
()=>{}
とか
_=>{}
とかで我慢できんか?
0736Name_Not_Found
垢版 |
2018/12/01(土) 17:11:28.57ID:???
言語宗教脳があると辛いらしい
0738Name_Not_Found
垢版 |
2018/12/01(土) 17:29:39.32ID:???
>>735
こんな書き方があったのですね、ありがとうございます

即時関数にするとこうですね
(()=>{
alert('aaa');
})()
気持ち悪いですね
0740Name_Not_Found
垢版 |
2018/12/01(土) 17:52:16.85ID:???
いまどき即時関数とか使う場面なくないか?
0741Name_Not_Found
垢版 |
2018/12/01(土) 17:54:56.14ID:???
少なくともアロー関数で即時関数はやる場面ないな
0742Name_Not_Found
垢版 |
2018/12/01(土) 18:26:13.75ID:???
アロー関数使えるってことはletやconst使えるってことだもんな…
0744Name_Not_Found
垢版 |
2018/12/01(土) 18:43:52.94ID:???
あれスラッシュって2つ続けても問題なく解決できるのか
0745Name_Not_Found
垢版 |
2018/12/01(土) 19:01:51.05ID:???
みんな当たり前のようにanguler, react, vue使えるもんなの?
0746Name_Not_Found
垢版 |
2018/12/01(土) 20:10:24.31ID:???
テーブルって真横の値(とあるtdの一つ前or次のtd)は簡単に取得できるけど
真上や真下の値は簡単に取得する方法ある?
0748737
垢版 |
2018/12/01(土) 21:02:33.71ID:???
Bourne ShellのソースだとURLから分かって貰えない悲しみ
0749Name_Not_Found
垢版 |
2018/12/02(日) 13:33:58.34ID:???
>>746
とあるセルの周囲のセルが1つとは限らないだろう
そこはどうするつもりなんだ?
0750Name_Not_Found
垢版 |
2018/12/02(日) 17:33:26.45ID:???
react超めんどくさい……
0751Name_Not_Found
垢版 |
2018/12/02(日) 17:36:14.87ID:???
reactとreduxでログインページ作るのに20ファイルも必要とかww
はぁ
0753Name_Not_Found
垢版 |
2018/12/03(月) 08:34:07.68ID:???
>>751
な?バカみたいだろ?
reactとか、JavaScriptに完全に依存したサイトで
すでにJavaScriptファイルが数十個作られています
みたいな状況を解決するものであって、
HTMLメインのサイトではただ面倒になるだけなんだよ
0754Name_Not_Found
垢版 |
2018/12/03(月) 09:15:44.56ID:???
それは当たり前だろ。
必要の無いものを無理に使っては絶対にダメ。
js無しで済むならそれが一番軽いし速いんだから。
0755Name_Not_Found
垢版 |
2018/12/03(月) 16:56:41.41ID:???
>>753
jsファイルが数十個なんてサイトは作り直しだな
あとhtmlメインサイトをこのスレで出しても無意味
0756Name_Not_Found
垢版 |
2018/12/03(月) 21:13:29.74ID:???
Extensible Web、Module、HTTP2的には数十個あっても正しい
0757Name_Not_Found
垢版 |
2018/12/04(火) 00:14:18.31ID:???
>>755
無意味ではないね。HTMLメインのサイトで使うのが
JavaScriptの一番多いユースケースだから
0758Name_Not_Found
垢版 |
2018/12/04(火) 02:23:45.91ID:???
普通バンドルまとめるだろ
共通部分別にするにしても数十個とか異常
0759Name_Not_Found
垢版 |
2018/12/04(火) 07:05:54.25ID:???
1モジュール1000行未満で切り分けていけば
そこそこのWebアプリなら数十モジュールくらいいく
おかしくはない
0760Name_Not_Found
垢版 |
2018/12/04(火) 08:42:08.39ID:???
普通バンドルまとめるだろ
共通部分別にするにしても数十個とか異常
0761Name_Not_Found
垢版 |
2018/12/04(火) 12:40:46.32ID:???
まとめない状態の話に決まってるだろ
0762Name_Not_Found
垢版 |
2018/12/04(火) 12:45:02.91ID:???
普通バンドルまとめるだろ
共通部分別にするにしても数十個とか異常
0763Name_Not_Found
垢版 |
2018/12/04(火) 16:44:38.90ID:???
>>762
なんでバンドルにまとめるの?
まとめなかったらどんな問題があるの?
0764Name_Not_Found
垢版 |
2018/12/04(火) 17:18:57.69ID:???
お客様にお待ちいただくことになる
しかしそんなお客様もキャッシュを持ってるから普段は気づかない
要は開発者の傲慢
傲慢を客に押し付けて

「ドヤ!ロードはええだろ!バンドラー使ってるんだぜ!」

たったのこれだけ
0765Name_Not_Found
垢版 |
2018/12/04(火) 17:35:13.93ID:???
まとめると単純にはやくなるわけでもないがな
0766Name_Not_Found
垢版 |
2018/12/04(火) 18:59:58.46ID:???
そうだよね? 2個ぐらいならバンドルにまとめなくても十分早いよね
0768Name_Not_Found
垢版 |
2018/12/04(火) 19:07:50.32ID:???
何個ぐらいからバンドルにまとめるの?
0770Name_Not_Found
垢版 |
2018/12/04(火) 19:35:15.30ID:/YGc9PoV
jQueryに依存しているjsファイルで質問です
htmlのパースを邪魔しないようにjsファイルをどうにかしたいと思います
・document.ready()でscript要素のDOM生成
・bodyの最後に書く
どちらが良いでしょうか

asyncとdeferは前後しまくってバグりまくって手がつけられなかったです
0771Name_Not_Found
垢版 |
2018/12/04(火) 20:49:50.53ID:???
纏めないほうが必要になった時点でモジュールを遅延ロードとかもできるし明らかに早い
0774Name_Not_Found
垢版 |
2018/12/05(水) 01:35:52.65ID:WC+ojC43
質問させてください

<input type="file">
<div id="hoge" style="display:none;">
HOGE
<input type="button id="piyo">
</div>

上記のソースコードで
ファイル選択時にHOGEの枠を表示したい
piyoクリックでHOGEを非表示したいです
よろしくお願いします
0775Name_Not_Found
垢版 |
2018/12/05(水) 15:27:39.04ID:???
<input type="file">
https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input/file

表示・非表示は、display・visibility プロパティの2通りがある

jQuery で作ったけど、ボタンを押すと、テキストとボタンも消えてしまうから、
ボタンは、div の外に作らないといけない

<body>
<label for="file1" style="display:block;">選択して</label>
<input type="file" id="file1" name="file1">

<div id="btn1_wrapper" style="display:none;">あいう
<button id="btn1">押して</button>
</div>

<script type="text/javascript" src="../jQuery/jquery-3.1.0.js"></script>
<script>
$( '#file1' ).change ( function( ) {
$( "#btn1_wrapper" ).css( "display", "block" );
} );

$( '#btn1' ).click ( function( ) {
$( "#btn1_wrapper" ).text( "" ); // 空文字列を設定する
} );
</script>
</body>
0776774
垢版 |
2018/12/05(水) 16:34:56.55ID:WC+ojC43
>>775
ありがとうございます
しかしながら「押して」ボタンは1度使うともう2度目は使えないですか?
0777Name_Not_Found
垢版 |
2018/12/05(水) 18:10:15.93ID:???
作るなら完璧なものを作れよ
0778775
垢版 |
2018/12/05(水) 18:44:00.35ID:???
ボタンを、div の外に出してみれば?

divの中に入っていると、div内のテキストを上書きすると、ボタンも削除されてしまうから、
この構造を変えるしかない
0779775
垢版 |
2018/12/05(水) 18:53:41.80ID:???
ここを、display none に修正して

>$( "#btn1_wrapper" ).text( "" ); // 空文字列を設定する
$( "#btn1_wrapper" ).css( "display", "none" );

ただし、同じファイルを選択しても、change イベントが発生しないから、
フォルダ内に、ファイルが1つしかない場合に困るかも
0780Name_Not_Found
垢版 |
2018/12/05(水) 20:00:32.54ID:???
>>773
やっぱりbodyの最後が一番ですよね
headから出っるのが気持ち悪いですが、我慢します

今後はjqueryなども全てbodyの終了直前に書くようにします
ありがとうございました
0781774
垢版 |
2018/12/05(水) 21:03:20.03ID:WC+ojC43
>>779
うおおお!ありがとうございます!完璧です!
感謝!
0782775
垢版 |
2018/12/06(木) 13:47:37.31ID:???
<button type="submit" disabled>

本当は、ボタンも消すと言うよりも、
disabled で有効・無効を切り替えたいだけじゃないの?

ボタンが消えるというのは、奇妙な振る舞い

jQueryでフォームのボタンを有効・無効にする
https://uxmilk.jp/40456
0783Name_Not_Found
垢版 |
2018/12/07(金) 06:47:11.77ID:???
ユーザーサポート歴の長い俺から言わせてもらうと
「一度きちんとボタンが押されたから二度押し防止のためにボタンが無効化されてるんだ」
なんて理解できる一般人はよっぽど精通した人だけ
反応がないとあちこち触って投稿中に別のページに遷移したりする人もいる

だからアニメーション画像と共に投稿中であることを表示して
時間がかかっているようなら更にその旨を表示する
完了するまで触るなと表示する
そのくらいはしないと一般人相手には厳しい
0784775
垢版 |
2018/12/07(金) 11:19:24.42ID:???
jQuery UI のモーダル画面のようなものが出て、
ボタンを押したら「押しました」と確認画面が出るようなものが、

うっとおしいけど、わかりやすいのかも
0785Name_Not_Found
垢版 |
2018/12/07(金) 19:26:29.63ID:???
jQueryのバージョンは幾つにしていますか?
wordpressは1.12なのですが、これを使えば良いのでしょうか
0786Name_Not_Found
垢版 |
2018/12/07(金) 21:03:07.61ID:???
そんなの自分で決めれよ
なんで他人に決めてもらわなきゃ何もできないんだ?
0787Name_Not_Found
垢版 |
2018/12/07(金) 21:44:41.94ID:???
>>786
何をイカってるんだ?
失敗談や地雷バージョンを聞いて避ける事が出来るなら、
それに越したことはないだろう

>>785
それで動くならそれで良い
wordpressなら差分のmigrateも入るからバージョンによる差異は起こりにくい
コードを書く時はno.conflictを外さずに
jQuery(function($){ 〜
に書くこと

もし何かプラグインやライブラリが動かないならjQuery3.x入れれば良い
0788Name_Not_Found
垢版 |
2018/12/07(金) 21:52:20.16ID:???
>>787
ありがとうございます!
migrateって?なんですか!?
下のコードもよくわからないのでもっと詳しく教えてください
0789Name_Not_Found
垢版 |
2018/12/07(金) 22:00:26.70ID:???
>>788
>migrate
jQuery1.xと3.xの差を埋める差分

>下のコード
そのままだと$が使えない
・WordPress標準のjQueryを使う場合の書き方
http://primarytext.jp/blog/1298

$()使わずにjQuery()使うならキにしなくてもいいけどね
0790Name_Not_Found
垢版 |
2018/12/07(金) 22:18:24.74ID:???
>>789
差ってどんな差がありますか?
2.xじゃだめでしょうか?
あとリンクありがたいのですが難しいのでもっと初心者にわかりやすいリンクくれると助かります…
0791Name_Not_Found
垢版 |
2018/12/07(金) 23:22:51.51ID:???
>>790
1→3は色々と軽量化、追加・削除された関数等がある
https://qiita.com/fmy/items/345a264a1cf2e2a73f62
1+migrateで3相応の機能になる

2は忘れた。無条件に使わなくて良いバージョンという認識しかない
知りたければ「jquery バージョン 差異」辺りで検索

>あとリンクありがたいのですが難しいのでもっと初心者にわかりやすいリンク
「wordpress jquery $ is not a function」
で検索してくれ
0792Name_Not_Found
垢版 |
2018/12/08(土) 00:31:37.68ID:???
2.x系は最新ブラウザだけに対応すれば良い場合に
古いブラウザの対応を切り捨てたものとして作られたが
結局需要がなくて3.x系で一本化された
0793Name_Not_Found
垢版 |
2018/12/08(土) 00:35:39.29ID:???
>>791
> 1+migrateで3相応の機能になる

逆、3+migrateで、1との互換性が完璧になる
基本的に1系と3系には高い互換性があるが、3は1の時代では必要だったが
今は不要な機能などが削除されてたり機能強化に伴う仕様変更などがある
そういったものを復活させるもの

3系に置き換えて動かなくなったものがあればmigrateを使用して
古いコードを置き換えていくことで、3系に完全対応させる
0794Name_Not_Found
垢版 |
2018/12/08(土) 00:40:09.41ID:???
>>793
スマン、完全に間違ってた
ずーっと間違ってたわ・・・
0795Name_Not_Found
垢版 |
2018/12/08(土) 00:41:06.59ID:???
migrate入れてるけどなんか動かないなぁ、まぁ互換性100%ってわけでもないしって諦めてた
オワタ
0796Name_Not_Found
垢版 |
2018/12/08(土) 09:32:16.26ID:???
普通に使うなら3でいいのかな?

ajax使わないならその部分削除するとすっごい軽くなると聞いたけど名前が思い出せない
vueと合わせて使ってみたい
0797Name_Not_Found
垢版 |
2018/12/08(土) 09:52:00.79ID:???
3でいいよ
ライブラリ複数入れるのはオススメしない。何かあったら超ハマるぞ
0799Name_Not_Found
垢版 |
2018/12/08(土) 11:18:58.91ID:???
vueとかサイト全体をJavaScriptフレームワークに
置き換えるのが前提のものを使うのは大変すぎるだけ
0800Name_Not_Found
垢版 |
2018/12/08(土) 11:43:55.19ID:???
バックエンドフレームワークとフロントエンドフレームワークの二重管理になるから
中規模以上のサイトになると両方メンテしないといけなくなる

何か新たにデータを取得して表示させるだけなのに、バックエンドとフロントエンド両方対応しないといけない
しかも整合性合うように

バックエンドでデータは更新されているのにフロントエンドで保持しているデータが更新されていませんでしたとかよくある
0801Name_Not_Found
垢版 |
2018/12/08(土) 19:54:31.64ID:???
Vue.js, Nuxt.js では、axios, Lodash を使う
0802Name_Not_Found
垢版 |
2018/12/15(土) 16:54:44.67ID:qZsVzFRV
bodyではなく何かoverflow-y:scrollがかかっているブロックの中で、目的の要素を頭出ししたいのですが

<article style="overflow-y:scroll height:500px;">
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
</article>

const $section = $('article').children().eq(3);
const top = $section.offset().top;
$('article').scrollTop( top );

ではどうもズレるようです
というかブロックの中身がいくつであってもtopの値が変わらないですね
こういう場合、何を使えばいいのでしょうか
$section.prevAll().each()で.outerHeight(true)を合計するくらいしか思い浮かばないですが…
0804802
垢版 |
2018/12/17(月) 06:00:33.86ID:fM9YUXj7
$section.get(0).scrollIntoView(true)でいけました
こんなのあったんだ… 実験的な機能らしいけど

>>803
マジですか?
0805Name_Not_Found
垢版 |
2018/12/19(水) 18:20:49.74ID:???
クリックする度に、HTMLの要素(DIVでもよい)のdisplayをオン・オフ切り替える関数ってどうすれば良いんですか?
0806Name_Not_Found
垢版 |
2018/12/19(水) 18:40:37.44ID:???
その関数が必要なら使えば良いんじゃないですか?
0807Name_Not_Found
垢版 |
2018/12/19(水) 18:56:11.91ID:???
聞き方が悪かった

どうやって作ったら良いですか
0808Name_Not_Found
垢版 |
2018/12/19(水) 19:14:19.40ID:???
$(function() {
$('.switch').click(function(e) {
$('.popup').show();
});
});

だと、クリックしたら1度表示されてそれっきりじゃないですか。
もう1度クリックしたら非表示、
そこから更にクリックしたら表示
ってしたいのですが
0809Name_Not_Found
垢版 |
2018/12/19(水) 19:17:12.89ID:???
html
<div id="chinko">うんこ<div>
<button id="chikubi" type="button">まんこ</button>


css
.minaide {display: none;}

js
function hadakaodori() {
$('#chinko').toggleClass('minaide');
}
$('#chikubi').on('click', hadakaodori);
0810Name_Not_Found
垢版 |
2018/12/19(水) 19:21:35.01ID:???
>>808
非表示のものをどうやってクリックするんだ
0812Name_Not_Found
垢版 |
2018/12/19(水) 19:30:41.23ID:???
トグルメソッドでいけますね
解決しました
0814Name_Not_Found
垢版 |
2018/12/19(水) 20:21:21.35ID:???
再質問ですが、

そのクリックで表示・非表示の切り替えをして、同時にマウスホバーでも表示・非表示をやり、
それらが矛盾無く正しく動作するような関数ってどう作ればよいでしょうか?
0815Name_Not_Found
垢版 |
2018/12/19(水) 20:21:52.24ID:???
私は、ホバーのケースはCSSで、クリックのケースはJSでと分けてしまったせいか、おかしな動きになってしまいます
0816Name_Not_Found
垢版 |
2018/12/19(水) 21:28:39.42ID:???
マウスホバーで消えるの?なにその嫌がらせ要素
0817Name_Not_Found
垢版 |
2018/12/19(水) 23:53:15.33ID:???
状態(共有)変数が必要で、それを通して更新する

クリック → 変数 ← ホバー
0818Name_Not_Found
垢版 |
2018/12/20(木) 00:00:17.54ID:???
共有変数として、

$('.switch').checked = false;

こんな感じにしてやろうとしたんですが、上手く行きませんね

.switch っていうのは、オンオフを切り替えるスイッチ役の要素(クラス)です
ウェブページを開いた直後はページ内の全てのスイッチ役の要素はスイッチオフなのでfalseを設定してます。
0819Name_Not_Found
垢版 |
2018/12/20(木) 00:00:55.88ID:???
$(function(){
$('.switch').checked = false;
$('.switch').click(function(e){
if($(this).checked = !$(this).checked){
$(this).next('.popup').css({'display':'inline'});
}else{
$(this).next('.popup').css({'display':'none'});
}
});
$('.switch').hover(function(e){
$(this).next('.popup').css({'display':'inline'});
},function(e){
if(!$(this).checked){
$(this).next('.popup').css({'display':'none'});
}
})
});
0821Name_Not_Found
垢版 |
2018/12/20(木) 00:10:38.45ID:???
JavaScriptでは
オブジェクト.プロパティ = 値;

っていう書き方出来てたのにJqueryでは無理なんですね
0822Name_Not_Found
垢版 |
2018/12/20(木) 00:21:16.68ID:???
jQueryもJavaScriptなんだから、
JavaScriptで出来ることはjQueryを使っていても出来るよ
0823Name_Not_Found
垢版 |
2018/12/20(木) 00:22:34.01ID:???
こうすれば上手く出来ました


$(function(){
$('.switch').each(function(){
$(this).prop('checked', false);
});
$('.switch').click(function(e){
if($(this).prop('checked',!$(this).prop('checked'))){
$(this).next('.popup').css({'display':'inline'});
}else{
$(this).next('.popup').css({'display':'none'});
}
});
$('.switch').hover(function(e){
$(this).next('.popup').css({'display':'inline'});
},function(e){
if(!$(this).prop('checked')){
$(this).next('.popup').css({'display':'none'});
}
})
});


ありがとうございました
0825Name_Not_Found
垢版 |
2018/12/20(木) 00:39:39.29ID:???
>>824
span要素にcheckedプロパティは存在しないのでpropは使ってはいけない
0826Name_Not_Found
垢版 |
2018/12/20(木) 00:42:07.35ID:???
>>824
cssメソッドではなくclassを設定するようにしましょう
0828Name_Not_Found
垢版 |
2018/12/20(木) 00:49:44.19ID:???
模範解答例

https://jsfiddle.net/w6bm0fn5/

[JavaScript]
$(document).on('click', '.switch', function() {
  $(this).toggleClass('checked');
});

[css]
.popup {
 display: none;
}
.switch.checked + .popup {
  display: inline;
}
.switch:hover + .popup {
  display: inline;
}

HTMLは>>824から変更なし

jQueryは最小限のJavaScriptで実現できる = HTML+CSSにメインの処理を任せることで高速に実行できるのです。
0829Name_Not_Found
垢版 |
2018/12/20(木) 00:54:07.92ID:???
>>828
凄いです。綺麗です
ありがとうございました。
0830Name_Not_Found
垢版 |
2018/12/20(木) 01:10:24.15ID:???
クラス名に「checked」という名前つけるのは避けるな俺なら
0832Name_Not_Found
垢版 |
2018/12/20(木) 05:57:48.38ID:???
Vue.js などの、リアクティブ・プログラミングだろ
0833Name_Not_Found
垢版 |
2018/12/20(木) 11:58:10.37ID:???
今って即時関数に閉じ込めないんですか?
(function() {
//処理
})();
0834Name_Not_Found
垢版 |
2018/12/20(木) 12:27:55.59ID:???
なぜ、何を閉じ込めたかったのか?
それはvar変数のスコープが関数スコープだったため、var変数のスコープを閉じ込めたかったのだ。グローバルと各ブロックで変数名が衝突しないように。
ブロックスコープなletとconstがある今、それは(大抵の場合)不要。
0835Name_Not_Found
垢版 |
2018/12/20(木) 13:21:41.48ID:???
>>834
それです。

const baz=()=>{
let foo=1;
console.log(foo);
}

ダメですか
0836Name_Not_Found
垢版 |
2018/12/20(木) 17:27:55.19ID:???
チビ太のおでんを思い出す
0839Name_Not_Found
垢版 |
2018/12/24(月) 20:00:35.18ID:Ceg/7NXc
node.js用でないただのローカルhtml+jsファイルから
node.js用のjsを呼び出して(起動させて)返り値を得る…みたいなことってできないですかね

現時点ではわざわざコマンドプロンプトから「node ○○.js」ってやってテキストファイルを生成させて
そのテキストファイルを開いてコピーしてhtmlのテキストエリアに貼り付けってやってるんですが
これを省略したくて…
(html内だけで完結できないのは、生成するデータの取得にnode.jsの認証用プラグインを使ってるため)

htmlファイル自体がちゃんとfile:///でなくnode.jsによるサーバー(localhost)を通ってないとダメなんでしょうか
0840Name_Not_Found
垢版 |
2018/12/24(月) 20:02:17.73ID:???
ポン刀持ってヤクザ事務所に斬り込めば返り血を得ることができるよ
0841Name_Not_Found
垢版 |
2018/12/24(月) 20:28:19.71ID:???
>>839
Nodeを起動させっぱなしで
WebSocketとかで通信するのはだめなんか?
0842Name_Not_Found
垢版 |
2018/12/25(火) 00:32:04.61ID:???
VSCode の拡張機能、Code Runner とか、Ctrl+Shift+P のRun Code みたいな、

簡単に、Node.js で実行する拡張機能はないの?
0843839
垢版 |
2018/12/25(火) 02:48:41.63ID:hEC+3v12
>>841
大人しくそうするのが一番手っ取り早いんでしょうかね…
Nodeを起動させるバッチファイルを書いてスタートアップに登録しておけば起動は問題なし…?

一応Node.jsの触り(ビギナーズブック https://www.nodebeginner.org/index-jp.html
はやったことあるはずですが、それでも現状からの移行を問題なくすんなり迅速にできるか不安なので
もし他に方法があればと思い聞いてみました
0844Name_Not_Found
垢版 |
2018/12/25(火) 06:25:55.65ID:???
バッチファイルをクリックしたら、
HTML出力するコマンド実行して、ブラウザで開くような
バッチファイル作ればいいだけじゃん
0845839
垢版 |
2018/12/25(火) 16:09:41.37ID:hEC+3v12
>>844
あー…?

いえ、>>839にも書きましたが
基本的にはhtmlを使って作業していて、文字列を取得したいときにnode.jsを起動してテキストエリアに貼り付けてそれをhtml側でパースして…ってやってるので
都度htmlを生成するとなると…

とはいえテキストエリアに初期値を設定したいだけのときはそれでも良さそうですね
0846Name_Not_Found
垢版 |
2018/12/25(火) 16:26:42.36ID:???
じゃあHTMLからテキストファイル読み込めば?
0847Name_Not_Found
垢版 |
2018/12/25(火) 16:29:20.22ID:???
Electron使えばいいんじゃね
0848Name_Not_Found
垢版 |
2018/12/25(火) 16:55:40.55ID:???
普通にwebpackとかでつなげりゃいいだけでしょ
0849839
垢版 |
2018/12/26(水) 00:59:16.21ID:N3W06Q6N
>>846
node.jsと行ったり来たりする手間は省けてないような…?

>>848
webpackってファイル数をまとめるやつでしたっけ
こういうことにも使えるんですか

>>847
単なるローカルhtmlファイルではやりづらいことも、html由来のデスクトップアプリなら色々できるようになりそうだとは薄々思ってましたが
どうやればいいのかいまいちわからずにいたところでした
まだ少ししか調べられていませんがElectron良さそうですね
TW.jsというのもあるようで…
0850Name_Not_Found
垢版 |
2018/12/26(水) 16:07:51.10ID:???
ABCいずれかのクラスを持っている
かつ
DEFいずれかのクラスを持っている

みたいなorとand混合の条件絞り込みってできますか?
0851Name_Not_Found
垢版 |
2018/12/26(水) 16:57:23.75ID:???
$('.A, .B, .C').filter('.D, .E. .F')
0852Name_Not_Found
垢版 |
2018/12/26(水) 17:58:04.11ID:???
VSCode Amazing Plugin - Quokkajs rapid prototyping playground.
https://youtu.be/klLP8EeTKtc

VSCode の拡張機能の、Quokka.js は?
Node.js で実行したものを、リアルタイムで、端末とエディタ内の両方に表示する

let numbers = [ 1, 2, 3 ]

let doubled = numbers.map( n => n * 2 )

doubled
//=> [ 2, 4, 6 ]

でも、エディタ内の結果からは、コピペできない!
端末からコピペするしかない
0853Name_Not_Found
垢版 |
2018/12/26(水) 18:47:41.23ID:???
chromeのコンソールもおんなじことしてくれるのであまり感動しなかった…
0854Name_Not_Found
垢版 |
2018/12/26(水) 18:52:37.06ID:???
>>851
どうもありがとうございます
期待通りのものが作れました
0855Name_Not_Found
垢版 |
2018/12/26(水) 20:25:23.49ID:???
>>843
個人的なことならブラウザ拡張で済ますって方法もあるよ
どうせNodeも外部通信くらいにしか使ってないんじゃないの?
0856852
垢版 |
2018/12/26(水) 21:47:50.63ID:???
>>852
は、ブラウザではなく、Node.js で実行している

このQuokka.js の無料版は、既に存在するファイルから、実行できない。
新規ファイルでしか実行できない
0857Name_Not_Found
垢版 |
2019/01/04(金) 00:34:40.62ID:???
selectboxの各optionの文字色を変えるにはどうしたらいいでしょうか?
背景=$('option').eq(n).css('backgroundColor', c);はできますが
文字=$('option').eq(n).css('color', c);は変わりません

Opera、Chromeで確認してます(foxは共にできず)
addClass使えはなしでお願いします(これでもできませんが)
0858Name_Not_Found
垢版 |
2019/01/04(金) 00:50:23.38ID:???
補足
cは#000000の形式で
文字色を変えるは動的にです
0859Name_Not_Found
垢版 |
2019/01/04(金) 01:07:05.94ID:???
>>857
iphoneドラムロールになるし、あれは背景を変えられない
ブラウザを絞ればもう少し対応策があるかもしれない
ただ、諦めたほうが良いとは思う
0860Name_Not_Found
垢版 |
2019/01/04(金) 11:03:10.78ID:???
>>859
iphoneや泥は捨てでいいです
動作せずは困りますが色なしは可です

PCのWinで機能すればいいです
0861Name_Not_Found
垢版 |
2019/01/04(金) 16:49:50.76ID:???
いや、捨てでいいですって切り分けることが不可能でしょ
もし白黒の電子ペーパー端末で見たり色弱者が見た場合のこととか考えてる?
0863Name_Not_Found
垢版 |
2019/01/04(金) 18:44:04.41ID:???
>>857
selectとoptionにスタイルかけるのは無理だから諦めろ
どうしてもやりたいなら代替要素でselectっぽい物を描画するライブラリを使えばいい
このスレ的に言えばjQueryUIでも使えばいいんじゃないか?
0865Name_Not_Found
垢版 |
2019/01/04(金) 19:35:30.62ID:???
>>864
これな〜
モバイルだと画面の下の方でそれクリックすると下にはみ出して操作性悪いんだよな
あまりオススメできない
モバイルのデフォルト機能に任せた方が、個人的には良いと思う
0866Name_Not_Found
垢版 |
2019/01/04(金) 21:30:08.55ID:???
まあモバイル捨てていいらしいからいいんでない?
なんならモバイルで見たら普通のselectで出しわけしてもいいし
0869Name_Not_Found
垢版 |
2019/01/04(金) 22:44:01.67ID:???
色弱に配慮する必要あるか?
そんなん言ったら全盲の人にも配慮しろってなって際限無いじゃん
0870Name_Not_Found
垢版 |
2019/01/04(金) 22:57:00.78ID:???
俺は一応配慮してるわ
Lighthouseで指摘されたとこパパっと直してハイ終わり!
属性付けるだけで、2,3時間で全部終わった
まぁこれぐらいならやっといて損はないかなと
0871Name_Not_Found
垢版 |
2019/01/04(金) 22:58:20.56ID:???
色弱ってFirefoxのシェアと同じくらいには居るんだから無視できないでしょ
0874Name_Not_Found
垢版 |
2019/01/05(土) 03:43:55.99ID:???
Firefoxは基本Chromeサポートのついででサポートできるからするけど
そうじゃなかったらChrome以外切り捨ててるな俺だったら
0875Name_Not_Found
垢版 |
2019/01/05(土) 10:21:56.70ID:???
>>861
そのためにかつ健常者でも見やすくするために色を変えるのです

>>863
背景は通常にできるのにテキストはできず、別の仕組みなのですね
簡単にできると安易に考えてましたがあきらめます

ありがとう
ちなみに>>862は別人
0877Name_Not_Found
垢版 |
2019/01/05(土) 10:24:21.77ID:???
>>875
ややこしくなるから次質問する時はIDトリップ付けたほうがいいかも
0878Name_Not_Found
垢版 |
2019/01/05(土) 10:36:41.18ID:???
>>877
IDトリップ?検索してみます
忠告ありがとう
0879Name_Not_Found
垢版 |
2019/01/05(土) 12:20:07.11ID:???
>>857
ChromeでもFirefoxでも文字も背景も色変わるけどなぁ
0881Name_Not_Found
垢版 |
2019/01/06(日) 14:59:30.42ID:???
見た目挙動を統一したいならCanvas使えばいいだけなのにね
PaintWorkletでも良いけど
0882Name_Not_Found
垢版 |
2019/01/06(日) 15:54:54.79ID:???
>>881
Canvasでフォームの値を送るにはどうしたら良い?
ちょっとここにサンプル書いてみてよ
0883Name_Not_Found
垢版 |
2019/01/06(日) 15:58:05.60ID:???
Canvasに要素っぽいものを表示して、クリックされた座標でイベントを発火させるだけだよ
難しくは無いけどかなりめんどくさい
ただ、表示は本当になんとでも出来る
0884Name_Not_Found
垢版 |
2019/01/06(日) 16:39:16.08ID:???
>>883
いえ、ですからここに書いてくださいと
それとフォームって知ってますか?
0886Name_Not_Found
垢版 |
2019/01/06(日) 20:11:23.22ID:???
フォームって知ってますか?って
既存のフォームが嫌で自分勝手に空き放題したいんだから
勝手に好きなように自分がフォームだと思うものを作ればいいじゃない
0887Name_Not_Found
垢版 |
2019/01/06(日) 20:37:44.28ID:???
canvasベースのゲームとか流行ると思ったら全く流行らなかったでござる
0888Name_Not_Found
垢版 |
2019/01/06(日) 20:39:24.96ID:???
質問と全然関係ないところで盛り上がるのすきだよなお前ら
0889Name_Not_Found
垢版 |
2019/01/06(日) 21:22:00.54ID:???
>>886
Canvas使う意味がないですよねって話をしてるんだが
普通に画像でいいやん
0890Name_Not_Found
垢版 |
2019/01/06(日) 22:00:38.97ID:???
>>887
html5ベースのゲームはほぼ100%canvasでしょ
0891Name_Not_Found
垢版 |
2019/01/06(日) 23:17:35.73ID:???
>>881
そんなめんどくさいことしてるの?
できてもクソ重くね?
あと見た目挙動を統一なんて誰か言ってたっけ?
0892Name_Not_Found
垢版 |
2019/01/07(月) 02:15:03.23ID:???
>>890
> html5ベースのゲームはほぼ100%canvasでしょ
そういうのってフレームワーク使わないよね?
っていうか、それHTML5ベースと言って良いんか?
canvasタグ以外のタグ使ってないやろ?
0893Name_Not_Found
垢版 |
2019/01/07(月) 12:21:26.99ID:???
>>889
お前大アホ?
セレクトボックスの話をしてるんだぞ?
0894Name_Not_Found
垢版 |
2019/01/07(月) 12:28:30.23ID:???
>>893
だからセレクトボックスをcanvasで作るとか無駄な努力でしょ
HTML使ってできるものをわざわざ独自で作るとかさ
0895Name_Not_Found
垢版 |
2019/01/07(月) 15:39:21.74ID:???
どんな環境でも同様の表示がしたい場合はHTMLでは困難だし
しようとすること自体がナンセンスと言ってるんだが伝わらなかったか
0896Name_Not_Found
垢版 |
2019/01/07(月) 17:22:24.49ID:???
HTML5は同様の表示ができるように
作られたものなんですが?
0897Name_Not_Found
垢版 |
2019/01/07(月) 22:02:40.50ID:???
HTMLはテキストとセマンティクス(意味)を伝えるために作られた物で
表示に関しては・・・ね
0898Name_Not_Found
垢版 |
2019/01/07(月) 22:51:18.42ID:???
>>879
いわくできるみたいだが
どうせハッタリだろうが
0899Name_Not_Found
垢版 |
2019/01/08(火) 00:43:33.02ID:???
Chromeが出た瞬間くらいにとくにセレクトボックスの色つけも含めて
HTML/CSS/JSの挙動について大規模に実験した記憶があるけど
ブラウザによってこれは反映されるけど、こっちは反映されないとかバラバラだったな
確かFirefoxはかなり検討してた
だけどimodeブラウザ2.0、NetFrontだっけ?が一番正しいってこともままあったな
HTML5がムーブメント生まれる瞬間でとにかく足並みを揃えさせるが難しかった時代
divで1点1点打つCanvasのポリフィルとか作った記憶がある
それでたしか100x100くらいの表示させるとガラケーで1フレーム数分とかかかってた
imodeのコンテンツ保護を無効にする手順とか、ブラウザをクラッシュさせるJSとか
沢山発掘して今思うと一番Webを楽しんでたときだな
__proto__廻りのバグやそれを元にした脆弱性とかも普通に俺でもホイホイ見つけられた時代
0900Name_Not_Found
垢版 |
2019/01/08(火) 00:45:22.91ID:???
そのうち半分くらいは報告したが
今のように報奨金制度とか全く流行ってなかったので
特にお礼も言われずに終わってたのが今振り返ると悔しい
0901Name_Not_Found
垢版 |
2019/01/08(火) 20:33:02.45ID:???
>>899
Firefoxは背景色表示はできてたが
あるバージョンから突然できなくなってしまった
0902Name_Not_Found
垢版 |
2019/01/09(水) 19:35:40.10ID:???
と思ったらこのスレ見たのかまたできるようになってて草
コード何一つ変えてないのに
0903Name_Not_Found
垢版 |
2019/01/09(水) 20:17:12.34ID:???
お前の思考レベルが草だろ
Firefoxがいつ更新されたと思ってんだ
糞馬鹿か
0905Name_Not_Found
垢版 |
2019/01/10(木) 13:37:40.42ID:???
47 名前:仕様書無しさん[] 投稿日:2018/12/05(水) 18:33:46.31
https://w3techs.com/technologies/overview/javascript_library/all

> w3techsによると2017年1月の時点で71.9%のサイトがJavaScriptのライブラリとして
> jQueryを使用していることが判明し、それ以降もシェアの増加が続いていたが、
> 2018年4月〜2018年10月の約半年間で変化が見られず、ようやく73.3%〜73.4%で
> 増加が停止したようである。

73.5%に増加してるな。まだ微増してるってことか?

48 名前:仕様書無しさん[] 投稿日:2018/12/06(木) 07:20:27.93
jquery最強じゃないかwww
react 厨さん息してますかー?

49 自分:仕様書無しさん[sage] 投稿日:2018/12/26(水) 21:45:04.58
https://w3techs.com/technologies/overview/javascript_library/all

> w3techsによると2017年1月の時点で71.9%のサイトがJavaScriptのライブラリとして
> jQueryを使用していることが判明し、それ以降もシェアの増加が続いていたが、
> 2018年4月〜2018年10月の約半年間で変化が見られず、ようやく73.3%〜73.4%で
> 増加が停止したようである。

> 73.5%に増加してるな。まだ微増してるってことか?

あぁ、もうだめだ。 73.6%にまた増加してる。微増し続けてた。
0906Name_Not_Found
垢版 |
2019/01/10(木) 13:57:14.66ID:???
増えているのはアフィゴミどもとかが量産してるwordpressが増えているから

これを開発者がjQuery使ってるとか勘違いするバカが勝ち誇ってるだけ
0907Name_Not_Found
垢版 |
2019/01/10(木) 14:22:02.93ID:???
その可能性はあるよね。WordPress使ってるところが32.8%、何も使ってないのが45.1%だから
https://w3techs.com/technologies/history_overview/content_management/all/y
仮にWordPressを使ってるサイトをJavaScriptを使ってないとみなせば
jQueryのシェア 73.6% は 40.8% 相当と考えられるかもしれないよね!
それでもJavaScriptライブラリを使ってないサイト24.3%よりはるかに多いけどね!
そんなことよりReactのシェアが0.5%から0.2%に減ったのが問題なんじゃぁ
0908Name_Not_Found
垢版 |
2019/01/10(木) 14:29:14.07ID:???
>>907
wordpress以外にもjQuery使ってるかもわからんゴミサイトがたくさんあるからな
お前はゴミをかき集めて勝ち誇ってるゴミ信奉者

そんで>>904の分析頼む
0909Name_Not_Found
垢版 |
2019/01/10(木) 14:33:06.94ID:???
でもそれいったら、React使ってるゴミではないサイトは
手足の指の数程度だろ・・・
0911Name_Not_Found
垢版 |
2019/01/10(木) 16:30:17.05ID:???
言い返さないんですか?w
0913Name_Not_Found
垢版 |
2019/01/10(木) 17:04:51.99ID:???
分析も何も、このアンケートに記録した人は
普段どんなものを作ってるんですか?でしか無いと思うけど?
どうせウェブサイトではなくてウェブアプリ開発者用のアンケートで偏ってるんでしょ?
切り取ったデータでわからないけど、せめて誰を対象としたアンケートなのかいってくれないとね
0914Name_Not_Found
垢版 |
2019/01/10(木) 17:18:23.91ID:???
世界的にはjQueryはバカ御用達ライブラリという認識
もはやバカか無能しか使わないんだよ
0915Name_Not_Found
垢版 |
2019/01/10(木) 18:31:22.51ID:???
そう思ってないとやってられないんだよ
冷静に考えるとメリット無いんだが
ほらみんなやってるしすごいって言ってるし
0916Name_Not_Found
垢版 |
2019/01/15(火) 13:02:57.91ID:iFo+/jNR
質問です
自作のページ【A】で、何かしらのイベント(例えば'#a'をクリック)が起こるたびに
バックグラウンドで開いた他者製のページ【B】で、何かしらのイベント(例えば'#bをクリック')を起こしたいと思っています。

自分で考えつく方法としては例えば、Chrome拡張機能などで他者製のページ【B】に対し
「このページが開かれるたびに'#b'をクリック」
というユーザースクリプトを設定しておき

自作のページ【A】で'#a'をクリックするたびに【B】を開く⇢すぐ閉じる
くらいしか思いつきませんが
開いたり閉じたりしない、もう少しスマートな方法ってないでしょうか?
0917Name_Not_Found
垢版 |
2019/01/15(火) 13:07:20.17ID:???
どんな悪いことしようとしてるの?言ってごらん?
0918916
垢版 |
2019/01/15(火) 13:10:54.67ID:iFo+/jNR
>>916 追記です
「このページを開いたとき」でなく
$(window).on('focus')
としておき、タブを切り替えるだけでいけますかね…?
しかしページを新たに開くのでなく、元々開いているタブにフォーカスを切り替えることなんてできるんでしょうか
0919916
垢版 |
2019/01/15(火) 13:32:39.85ID:iFo+/jNR
>>917
なんて言えばいいのかちょっと難しいですが
業務上ちょいちょいクリックしたいボタンがあって
(悪いことではないです その他者製のページというのも半ば身内製と言いますか…
 自由に変更要望を出せるものではないんですが)

わざわざ画面を行き来してボタンを探す時間の節約…
という面もありますが、うっかり忘れを防止したいというのもあります
(2つのページをセットで作業してるものの、基本的にAのページばかり開いててBの作業をやり忘れることがよくあり
 忘れてて後からになると業務に遅れが生じてしまうので…)
0921920
垢版 |
2019/01/15(火) 15:07:10.10ID:???
Ruby で、Selenium WebDriver なら、

driver.navigate.to url_0 # url_0 を開く

driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する
driver.navigate.to url_1 # url_1 を開く

all_handles = driver.window_handles

driver.switch_to.window( all_handles[ 0 ] ) # url_0 へ移動する
0922Name_Not_Found
垢版 |
2019/01/15(火) 15:30:05.62ID:???
その用途でSeleniumを使うのは時間の無駄だって言っておく
0923Name_Not_Found
垢版 |
2019/01/15(火) 15:55:07.08ID:???
そしてseleniumはJava製。いろんな言語のドライバが出ているがrubyのドライバはメンテナンスが悪い。るび〜すと(笑)が飽きっぽく、「る、るびぃ〜でもできるしっ」と言いたいがためだけの実験作だからだw
0924920
垢版 |
2019/01/15(火) 17:29:49.64ID:???
$ gem list selenium

selenium-webdriver (3.141.0)

Ruby のは、141 まで進んでいる!
0925Name_Not_Found
垢版 |
2019/01/15(火) 18:20:39.44ID:???
>>917
web上の事務作業を楽にするって事だろう

>>916
基本的には難しい
もしjsで別タブを触れるとすると、サイト開いた瞬間に全タブの情報を抜き取るってアホみたいな事が可能になる

>自作のページ【A】で'#a'をクリックするたびに【B】を開く⇢すぐ閉じる
>くらいしか思いつきませんが
>開いたり閉じたりしない、もう少しスマートな方法ってないでしょうか?
これが通るならコレでいいと思う

>>920はアホみたいな方法なので止めておいた方が良い
0926920
垢版 |
2019/01/15(火) 19:33:49.25ID:???
そりゃ、JavaScript は、そのページ内・DOM を操作するものだろ

一方、Selenium Webdriver は、ブラウザを操作するもの。
そのブラウザで開いている、すべてのページを、人間がするように操作できる

役割が異なる
0927Name_Not_Found
垢版 |
2019/01/15(火) 19:44:18.57ID:???
まあchrome限定でいいならpupetteerで両方できるんですけどね
0928Name_Not_Found
垢版 |
2019/01/16(水) 23:01:39.48ID:Z5zIizD6
質問させてください。
これのaryC選択を、aryAとaryBの両方を参照するようにしたいのですがどうしたら良いでしょうか?よろしくお願い致します。


var aryA=["動物","植物"];

var aryB=[];
aryB["動物"]=["哺乳類","両生類"];
aryB["植物"]=["種子植物","その他"];

var aryC=[];
aryC["哺乳類"]=["ヒト科","サル科","ネコ科"]
aryC["両生類"]=["カエル科","サンショウウオ科"]
aryC["種子植物"]=["被子植物","裸子植物"]
aryC["その他"]=["シダ植物","細菌類"]

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1222942487
0929Name_Not_Found
垢版 |
2019/01/17(木) 20:33:22.95ID:???
var a=["X","Y"];

var b=[];
b[ a[0] ]=["A","B"];
b[ a[1] ]=["C","D"];

// b => [ X: [ 'A', 'B' ], Y: [ 'C', 'D' ] ]

var c=[];
c[ b["X"][0] ]=["0","1"];
c[ b["Y"][1] ]=["2","3"];

// c => [ A: [ '0', '1' ], D: [ '2', '3' ] ]
0930929
垢版 |
2019/01/17(木) 20:38:19.99ID:???
>929
修正。これを

c[ b["X"][0] ]=["0","1"];
c[ b["Y"][1] ]=["2","3"];

これに変えても、同じ

c[ b[ a[0] ][0] ]=["0","1"];
c[ b[ a[1] ][1] ]=["2","3"];
0931Name_Not_Found
垢版 |
2019/01/18(金) 23:45:31.88ID:???
Firefoxってwidth、height操作のアニメーションやslideDownの挙動がすごくもっさりしませんか?
0932Name_Not_Found
垢版 |
2019/01/31(木) 04:31:34.00ID:WuDCcsv7
とあるサイトに対して、Chrome用のユーザースクリプトを作っています。

そのサイトでは、内部で一気にまとめて処理すればいいところを
わざわざ人間が#a #b #c #dという4つのボタンを順番に押さなければなりません。

これを何らかの1動作(例えば右クリック)だけで済むようにしたいのですが
ただ単に
$('body').on('contextmenu', () => {
$('#a').click();
$('#b').click();
$('#c').click();
$('#d').click();
return false;
});
などとしただけでは、#aの処理が終わる前に#bがクリックされてしまいうまくいきません。
setIntervalを使う以外にどんな選択肢があるでしょうか?
$.when().done()とかだと「クリックをしたことによって起こったイベント」までは待ってくれないですかね?
0933932
垢版 |
2019/01/31(木) 04:35:44.23ID:WuDCcsv7
「起こったイベント」という言い方だとなんか変だったかもしれませんね(クリックそのものがイベントか)
0934Name_Not_Found
垢版 |
2019/01/31(木) 07:42:20.04ID:???
>>932
a,b,c,dの処理はどう定義されているのかを調べてから質問してくれ
0935Name_Not_Found
垢版 |
2019/01/31(木) 10:24:38.58ID:???
完了した際にドム内容が変更されるなら
DOMSubtreeModified propertychange
で検知すればいいと思う
0936Name_Not_Found
垢版 |
2019/01/31(木) 12:05:38.76ID:???
$.when().done() などがネストする場合は、使えるなら、async/await などが良い

>#aの処理が終わる前に、#bがクリックされてしまいうまくいきません
単に、処理A・B を続けて書いているだけなのに、実行される順番が変わるのか?
そんな事があるのか?
0937936
垢版 |
2019/01/31(木) 12:09:54.65ID:???
ああ、ABCD の順番でクリックされるけど、

Aの処理に、時間が掛かっている間に、
BCDの処理の方が、先に終わってしまうという事か

それは、非同期処理の順番を指定するしかない
0938Name_Not_Found
垢版 |
2019/01/31(木) 12:52:58.06ID:???
要素の中心を起点に拡大・縮小させながら対象をshow,hideさせることはできますか
0940Name_Not_Found
垢版 |
2019/01/31(木) 13:00:43.74ID:???
>>938
要素による。inlineとかだと出来ないので、一時的にdisplayを変更したりwrapperを設定する必要がある
あと、文字のサイズも変わらないので何か変になると思う
0941Name_Not_Found
垢版 |
2019/01/31(木) 13:02:59.72ID:???
・canvasを変更
・ページ遷移
この時、canvasで変更された内容をそのまま持ち越すということは可能でしょうか?

ajaxでcanvas意外を変更するか、画像で一旦どこかに保存するしかないでしょうか
0942Name_Not_Found
垢版 |
2019/01/31(木) 13:22:51.00ID:???
>>940
アニメーションはCSSでやったほうが良さそうですね
show→アニメーションはできたのですが、アニメーション→hideがうまくいかず…
0944Name_Not_Found
垢版 |
2019/01/31(木) 20:32:05.27ID:???
>>941
data uriにして持ち越すか
描画するデータを持ち越して再描画するかかな
0945Name_Not_Found
垢版 |
2019/01/31(木) 20:44:13.78ID:???
>>943
あーなるほど、別にdisplay:none;にすることに拘らなくてもいいですね
transform:scaleでギリギリまで縮小して最後にwidth、height0にするようなkeyflames書いてみます
0946Name_Not_Found
垢版 |
2019/02/01(金) 12:45:59.89ID:???
>>938
foreignObjectを使ってCanvasに描画してやるのがオススメ
0947Name_Not_Found
垢版 |
2019/02/01(金) 13:44:00.87ID:???
>>946
ふつうにtransform: scale()じゃだめなのか
0948932
垢版 |
2019/02/01(金) 18:40:45.37ID:Zy/d2zot
遅くなりましたが>>932です

>>934
デベロッパーツールで調べてみるとどういうわけか、
#a〜#dを押すことによって実行される関数a()〜d()自体は単に<head>内にa.js〜d.jsを追加するというだけのものでした
a.js〜d.jsの中身はいずれもわずか20行ほどで、for内でreplaceを繰り返した結果を<textarea>に反映させるというものです
(何故こうなってるのかはちょっとわかりませんが… なにか意味あるんでしょうか)

使うのが今だけなら、いっそこれらの中身を全部コピペしてユーザースクリプトにまとめてもいいんでしょうけど
a.js〜d.jsの中身(replaceすべき文字列)が将来的にいつの間にか書き換わってることもあるでしょうからそれは避けたいなと…

>>935
DOMSubtreeModified propertychange!
そんな凄いものがあったんですね…!
これは今後色々捗りそうです
今回は<textarea>の中身がJSで勝手に書き換わるのはどうもonchangeでは検知できないようで困っていたのですが
先述のように<head>内に<script>を追加するのを検知すればいけるかもしれません

>>936-937
つまりこういうケースではasync/awaitのみの1択…という感じですかね
async/awaitなら全部待ってくれるんですね
0949Name_Not_Found
垢版 |
2019/02/01(金) 18:46:08.85ID:???
> つまりこういうケースではasync/awaitのみの1択…という感じですかね

ぜんぜん違う。というか関係ない
絶対に使わないというわけではないが、問題解決のための手段ではない

例えば、3人交代で仕事する時、相手に起きた出来事を引き継ぎするだろ?
async/awaitはその引き継ぎ作業に相当する。
引き継ぎは行うことだが仕事内容ではない
0950Name_Not_Found
垢版 |
2019/02/01(金) 18:46:45.30ID:???
> 今回は<textarea>の中身がJSで勝手に書き換わるのはどうもonchangeでは検知できないようで困っていたのですが
使えないんじゃね? DOMツリーが変わるわけじゃないんだから
0951932
垢版 |
2019/02/01(金) 19:04:17.20ID:Zy/d2zot
>>949
では他にはどんな引き継ぎ方があるでしょうか?
(ユーザースクリプトからだと、関数a()を直接呼び出すことはできませんでした)

>>950
<head>への<script>の追加はDOMツリーの変更とは見なされず、DOMSubtreeModified propertychangeでは検知できない…ということでしょうか
0952Name_Not_Found
垢版 |
2019/02/01(金) 19:11:30.56ID:???
>>951
調べるのは引き継ぎ方じゃなくて、clickの中でやってる処理が終わったタイミングを知る方法
それさえわかればasync/awaitなんぞ使わず普通にclick()使えばいい
0953Name_Not_Found
垢版 |
2019/02/01(金) 19:43:32.23ID:Zy/d2zot
>>952
ではやはりそれぞれの関数が最終的に行っているのは<textarea>のvalueへの文字列の代入ですね…
0954Name_Not_Found
垢版 |
2019/02/01(金) 20:45:58.07ID:???
>>932
順序なんて考えたくないでござる!って場合はこれでどうだ

str = '';
$.get("a.js", '', function(response) {
str += response;
$.get("b.js", '', function(response) {
str += response;
$.get("c.js", '', function(response) {
str += response;
$.get("d.js", '', function(response) {
str += response;
});
});
});
});
eval(str);
0955Name_Not_Found
垢版 |
2019/02/01(金) 20:47:11.23ID:???
完全に自分用のjsならこれでいいやろ。順序は絶対に狂わない
エラーは適当に書いてくれ
0956Name_Not_Found
垢版 |
2019/02/02(土) 23:38:00.03ID:???
void()って本来なんのためにあるの?
0958Name_Not_Found
垢版 |
2019/02/03(日) 09:36:03.56ID:???
なんで最初っから定数としてundefined用意しなかったの
関数にするとしてもundifined返すための関数なら引数いらなくね
なんでvoid(0)ってしてるの?なにを評価してるの
0959Name_Not_Found
垢版 |
2019/02/03(日) 11:15:37.14ID:???
>>958
http://memories.zal.jp/WP/blog/20150504_2542.html
http://blog.yuku-t.com/entry/20111111/1321021731
※下は2011年の古い記事

昔はundefinedを上書きできてしまう仕様だったので、
それに対する保証としてvoid()があったと思われる

>なんで最初っから定数としてundefined用意しなかったの
これは全員思っていると思う
変数でundefinedは正気の沙汰じゃない

つまり今は使う意味が無いと思う
0960Name_Not_Found
垢版 |
2019/02/03(日) 13:03:35.97ID:???
>>959
今もundefined変数を定義出来るので、状況によっては必要
(typeof演算子で代用出来るケースがほとんどだと思うが)
0961Name_Not_Found
垢版 |
2019/02/03(日) 13:11:59.34ID:???
constと思ってた、違うのか

var undefined = 1
これどうなってるんだ
代入がエラーにならないけど何を代入してもundefined が返ってくる
0962Name_Not_Found
垢版 |
2019/02/03(日) 13:27:02.93ID:???
>>958
voidは関数ではなく、演算子だぞ
演算子に(0)を与えるコードが異常
0963Name_Not_Found
垢版 |
2019/02/03(日) 13:30:49.29ID:???
>>961
グローバルコードだろ?
constや関数コード内のvarでやってみろ
グローバル変数を書き換えられない理由はObject.getOwnPropertyDescriptor()
0964Name_Not_Found
垢版 |
2019/02/03(日) 13:46:43.20ID:???
jsのundefinedは幾ら何でも特殊すぎる
新しくnullを作って欲しい
0966Name_Not_Found
垢版 |
2019/02/03(日) 17:09:33.36ID:???
jsでnullとundefinedって別だよね
他の言語でもそうなの?
0967Name_Not_Found
垢版 |
2019/02/03(日) 17:59:04.11ID:???
nullとundefinedが2つ存在して、同値扱いは普通に考えてないんじゃない?
0969Name_Not_Found
垢版 |
2019/02/03(日) 19:36:12.85ID:???
null == undefined

>true

null === undefined

>false

やめろ
0970Name_Not_Found
垢版 |
2019/02/03(日) 19:38:26.30ID:???
同値判定でfalse出てんだから同値じゃないじゃん。
どうちてそんなこと言うの?
0971Name_Not_Found
垢版 |
2019/02/03(日) 20:03:11.11ID:???
出とるぞ

null == undefined
>true

同じ形ではないようだが
0972Name_Not_Found
垢版 |
2019/02/03(日) 20:13:14.58ID:???
等値演算子と同値演算子を混同してるのでは
0974Name_Not_Found
垢版 |
2019/02/03(日) 20:41:05.97ID:???
>>968
そうだよ
だから、そもそも同値扱いしかあり得ないし、>>966は考慮にも値しない
0975974
垢版 |
2019/02/03(日) 20:42:51.13ID:9tToFlyy
× そもそも同値扱いしかあり得ないし、
○ そもそも同値扱いはあり得ないし、
0976Name_Not_Found
垢版 |
2019/02/04(月) 12:50:45.61ID:???
==も===も両方EqualityExpression何だが
仕様書にないオレオレ用語は止めてくれ
0977Name_Not_Found
垢版 |
2019/02/04(月) 13:15:59.18ID:???
・抽象的な等価性比較 (Abstract Equality Comparison) (==)
・厳格な等価性比較 (Strict Equality Comparison) (===)
0978Name_Not_Found
垢版 |
2019/02/04(月) 13:27:56.28ID:???
・=== を使用する 厳格な等価性 (strict equality) ("三重等号" または "同一性 (identity)")
・== を使用する 寛容な等価性 (loose equality) ("二重等号")
0979972
垢版 |
2019/02/04(月) 13:37:49.21ID:???
>>976
ごめん俺が完全にあほだった
0980Name_Not_Found
垢版 |
2019/02/04(月) 16:08:10.95ID:???
J.Celko 信者のミックが書いているけど、

データベースでは、3値論理。Ruby もそう。
true, false, null

E.F.Codd は、unknown も加えた、4値論理を唱えたけど、
あまりに複雑すぎて採用されなかった
0981Name_Not_Found
垢版 |
2019/02/04(月) 16:12:51.58ID:???
JS, PHP では、必ず厳密等価演算子を使うべき!
使わないと、想定外に型変換されて、バグる

Ruby では、バグる要素が多いから、これを採用しなかった
0982Name_Not_Found
垢版 |
2019/02/04(月) 16:37:33.30ID:???
Rubyにおける==,===,eql?,equal?の違い
https://mickey24.hatenablog.com/entry/20100910/1284052782

==
オブジェクトの同値性のチェック
クラスやオブジェクトの性質に合わせて再定義できる

===
オブジェクトの同値性のチェック(所属性を加味)
case式で使われる
クラスやオブジェクトの性質に合わせて再定義できる

eql?
オブジェクトの同値性のチェック(==より厳密)
Hashで二つのキーが等しいかどうかを判定するのに使われる
クラスやオブジェクトの性質に合わせて再定義できる
再定義した場合はhashメソッドも再定義しなければならない

equal?
オブジェクトの同一性のチェック
object_idが一致するかどうかを調べる
再定義してはならない
0983Name_Not_Found
垢版 |
2019/02/04(月) 17:39:19.38ID:???
>>981
ヴァーーーーーーーーカ!wwwww
0984Name_Not_Found
垢版 |
2019/02/04(月) 17:41:04.67ID:???
es2015からちゃんとSameValueの考え方が示されてる
0985Name_Not_Found
垢版 |
2019/02/04(月) 17:45:21.79ID:???
def 、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
0986Name_Not_Found
垢版 |
2019/02/04(月) 17:49:53.38ID:???
>>985
これは酷い。この体たらくで簡単だのバグりにくいだのホザいてんだから呆れる。
0988Name_Not_Found
垢版 |
2019/02/04(月) 22:19:54.30ID:???
必ず===を使うべきというのは間違い
どちらかと言えば==を使うべき
ここ20年職場でもネットでも色んな人を見てきたが
==の方が使用頻度かなり高いのにハマった人は同じくらい

例えばよくあるパターンが正規表現でマッチして数値と比べる場合
==を使うと数値と文字列を勝手にいい具合に比較してしまうとしても
===を使っても数値と文字列が意図せずに来てしまうことには対処できない
本当の問題は数値と文字列が意図せず混在しやすいというところにあるからだ

そうしたときに、==だと高確率で実際問題が起きないが、===だと直ちにハマる
いくら潜在的なバグを生みうると言ったって、その確率は経験上こだわる必要がないほど低い
0991Name_Not_Found
垢版 |
2019/02/05(火) 19:21:20.28ID:???
>>988
正規表現なら、if(/^\d+$/.test(1234)) のように書くので、===も==も使わない
0992Name_Not_Found
垢版 |
2019/02/05(火) 20:37:01.76ID:???
なるほどif(/^\d+$/.test('+1234'))あ、あれ?通らない…(TдT)
if (+1234 == '+1234')は通るのに…
0993Name_Not_Found
垢版 |
2019/02/05(火) 20:42:09.88ID:???
>>991
俺がなんでああいう独特な書き方をしたか分からないか?
書いたことはちゃんと理解してくれないと困る
「本当の問題は数値と文字列が意図せず混在しやすいというところにあるからだ 」
と言ってるだろう
君は正規表現でマッチした値を変数に入れたりすることは一切ないのだろうが
世間ではよくあるのだよ
0994Name_Not_Found
垢版 |
2019/02/05(火) 21:14:24.67ID:???
意図して混在させてるからオッケー😆👌❤??
0996Name_Not_Found
垢版 |
2019/02/07(木) 12:20:22.28ID:???
正規表現って何でコーテーションで囲まなくても良いの?
これが良くわからない
replace('/foo/')
としてしまってアレアレってなる
0997Name_Not_Found
垢版 |
2019/02/07(木) 13:19:37.67ID:???
>>996
まずJavaScriptのリテラルはこれだけある。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types#Literals

'foo'は文字列リテラルで、
/foo/は正規表現リテラルだ。

昔からある堅い言語は正規表現リテラルがないから文字列からnewして作ってた。
JavaScriptでもそのような作り方もできる。
new RegExp('foo')
これは/foo/と同じように使える。
詳しくは述べないが厳密にはちょっと異なるのでリテラルで書くことを推奨しておく。
0998Name_Not_Found
垢版 |
2019/02/07(木) 13:23:37.16ID:???
>>996
あとほんとに'foobaz'を'barbaz'に変えるようなreplaceは
'foobaz'.replace('foo', 'bar')と、単純に文字列でいい。正規表現使う必要ない。
0999Name_Not_Found
垢版 |
2019/02/07(木) 13:25:22.02ID:???
>>997-998
そういう事なのか、ありがとう
ずっとよくわからずに使ってた
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 453日 14時間 47分 50秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況