+ JavaScript & jQuery 質問用スレッド vol.8 +
レス数が900を超えています。1000を超えると表示できなくなるよ。
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/ JavaScriptはなくても出来る
https://jsfiddle.net/ry9Lhpz7/
>>830
微妙なところだね。本質的にはcheckboxと同じだからねぇ Vue.js などの、リアクティブ・プログラミングだろ 今って即時関数に閉じ込めないんですか?
(function() {
//処理
})(); なぜ、何を閉じ込めたかったのか?
それはvar変数のスコープが関数スコープだったため、var変数のスコープを閉じ込めたかったのだ。グローバルと各ブロックで変数名が衝突しないように。
ブロックスコープなletとconstがある今、それは(大抵の場合)不要。 >>834
それです。
const baz=()=>{
let foo=1;
console.log(foo);
}
ダメですか node.js用でないただのローカルhtml+jsファイルから
node.js用のjsを呼び出して(起動させて)返り値を得る…みたいなことってできないですかね
現時点ではわざわざコマンドプロンプトから「node ○○.js」ってやってテキストファイルを生成させて
そのテキストファイルを開いてコピーしてhtmlのテキストエリアに貼り付けってやってるんですが
これを省略したくて…
(html内だけで完結できないのは、生成するデータの取得にnode.jsの認証用プラグインを使ってるため)
htmlファイル自体がちゃんとfile:///でなくnode.jsによるサーバー(localhost)を通ってないとダメなんでしょうか ポン刀持ってヤクザ事務所に斬り込めば返り血を得ることができるよ >>839
Nodeを起動させっぱなしで
WebSocketとかで通信するのはだめなんか? VSCode の拡張機能、Code Runner とか、Ctrl+Shift+P のRun Code みたいな、
簡単に、Node.js で実行する拡張機能はないの? >>841
大人しくそうするのが一番手っ取り早いんでしょうかね…
Nodeを起動させるバッチファイルを書いてスタートアップに登録しておけば起動は問題なし…?
一応Node.jsの触り(ビギナーズブック https://www.nodebeginner.org/index-jp.html)
はやったことあるはずですが、それでも現状からの移行を問題なくすんなり迅速にできるか不安なので
もし他に方法があればと思い聞いてみました バッチファイルをクリックしたら、
HTML出力するコマンド実行して、ブラウザで開くような
バッチファイル作ればいいだけじゃん >>844
あー…?
いえ、>>839にも書きましたが
基本的にはhtmlを使って作業していて、文字列を取得したいときにnode.jsを起動してテキストエリアに貼り付けてそれをhtml側でパースして…ってやってるので
都度htmlを生成するとなると…
とはいえテキストエリアに初期値を設定したいだけのときはそれでも良さそうですね 普通にwebpackとかでつなげりゃいいだけでしょ >>846
node.jsと行ったり来たりする手間は省けてないような…?
>>848
webpackってファイル数をまとめるやつでしたっけ
こういうことにも使えるんですか
>>847
単なるローカルhtmlファイルではやりづらいことも、html由来のデスクトップアプリなら色々できるようになりそうだとは薄々思ってましたが
どうやればいいのかいまいちわからずにいたところでした
まだ少ししか調べられていませんがElectron良さそうですね
TW.jsというのもあるようで… ABCいずれかのクラスを持っている
かつ
DEFいずれかのクラスを持っている
みたいなorとand混合の条件絞り込みってできますか? $('.A, .B, .C').filter('.D, .E. .F') 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 ]
でも、エディタ内の結果からは、コピペできない!
端末からコピペするしかない chromeのコンソールもおんなじことしてくれるのであまり感動しなかった… >>851
どうもありがとうございます
期待通りのものが作れました >>843
個人的なことならブラウザ拡張で済ますって方法もあるよ
どうせNodeも外部通信くらいにしか使ってないんじゃないの? >>852
は、ブラウザではなく、Node.js で実行している
このQuokka.js の無料版は、既に存在するファイルから、実行できない。
新規ファイルでしか実行できない selectboxの各optionの文字色を変えるにはどうしたらいいでしょうか?
背景=$('option').eq(n).css('backgroundColor', c);はできますが
文字=$('option').eq(n).css('color', c);は変わりません
Opera、Chromeで確認してます(foxは共にできず)
addClass使えはなしでお願いします(これでもできませんが) 補足
cは#000000の形式で
文字色を変えるは動的にです >>857
iphoneドラムロールになるし、あれは背景を変えられない
ブラウザを絞ればもう少し対応策があるかもしれない
ただ、諦めたほうが良いとは思う >>859
iphoneや泥は捨てでいいです
動作せずは困りますが色なしは可です
PCのWinで機能すればいいです いや、捨てでいいですって切り分けることが不可能でしょ
もし白黒の電子ペーパー端末で見たり色弱者が見た場合のこととか考えてる? >>857
selectとoptionにスタイルかけるのは無理だから諦めろ
どうしてもやりたいなら代替要素でselectっぽい物を描画するライブラリを使えばいい
このスレ的に言えばjQueryUIでも使えばいいんじゃないか? >>864
これな〜
モバイルだと画面の下の方でそれクリックすると下にはみ出して操作性悪いんだよな
あまりオススメできない
モバイルのデフォルト機能に任せた方が、個人的には良いと思う まあモバイル捨てていいらしいからいいんでない?
なんならモバイルで見たら普通のselectで出しわけしてもいいし 色弱に配慮する必要あるか?
そんなん言ったら全盲の人にも配慮しろってなって際限無いじゃん 俺は一応配慮してるわ
Lighthouseで指摘されたとこパパっと直してハイ終わり!
属性付けるだけで、2,3時間で全部終わった
まぁこれぐらいならやっといて損はないかなと 色弱ってFirefoxのシェアと同じくらいには居るんだから無視できないでしょ Firefoxは基本Chromeサポートのついででサポートできるからするけど
そうじゃなかったらChrome以外切り捨ててるな俺だったら >>861
そのためにかつ健常者でも見やすくするために色を変えるのです
>>863
背景は通常にできるのにテキストはできず、別の仕組みなのですね
簡単にできると安易に考えてましたがあきらめます
ありがとう
ちなみに>>862は別人 >>861
ちなFirefoxは勝手に切り分けられます >>875
ややこしくなるから次質問する時はIDトリップ付けたほうがいいかも >>877
IDトリップ?検索してみます
忠告ありがとう >>857
ChromeでもFirefoxでも文字も背景も色変わるけどなぁ 見た目挙動を統一したいならCanvas使えばいいだけなのにね
PaintWorkletでも良いけど >>881
Canvasでフォームの値を送るにはどうしたら良い?
ちょっとここにサンプル書いてみてよ Canvasに要素っぽいものを表示して、クリックされた座標でイベントを発火させるだけだよ
難しくは無いけどかなりめんどくさい
ただ、表示は本当になんとでも出来る >>883
いえ、ですからここに書いてくださいと
それとフォームって知ってますか? フォームって知ってますか?って
既存のフォームが嫌で自分勝手に空き放題したいんだから
勝手に好きなように自分がフォームだと思うものを作ればいいじゃない canvasベースのゲームとか流行ると思ったら全く流行らなかったでござる 質問と全然関係ないところで盛り上がるのすきだよなお前ら >>886
Canvas使う意味がないですよねって話をしてるんだが
普通に画像でいいやん >>887
html5ベースのゲームはほぼ100%canvasでしょ >>881
そんなめんどくさいことしてるの?
できてもクソ重くね?
あと見た目挙動を統一なんて誰か言ってたっけ? >>890
> html5ベースのゲームはほぼ100%canvasでしょ
そういうのってフレームワーク使わないよね?
っていうか、それHTML5ベースと言って良いんか?
canvasタグ以外のタグ使ってないやろ? >>889
お前大アホ?
セレクトボックスの話をしてるんだぞ? >>893
だからセレクトボックスをcanvasで作るとか無駄な努力でしょ
HTML使ってできるものをわざわざ独自で作るとかさ どんな環境でも同様の表示がしたい場合はHTMLでは困難だし
しようとすること自体がナンセンスと言ってるんだが伝わらなかったか HTML5は同様の表示ができるように
作られたものなんですが? HTMLはテキストとセマンティクス(意味)を伝えるために作られた物で
表示に関しては・・・ね >>879
いわくできるみたいだが
どうせハッタリだろうが Chromeが出た瞬間くらいにとくにセレクトボックスの色つけも含めて
HTML/CSS/JSの挙動について大規模に実験した記憶があるけど
ブラウザによってこれは反映されるけど、こっちは反映されないとかバラバラだったな
確かFirefoxはかなり検討してた
だけどimodeブラウザ2.0、NetFrontだっけ?が一番正しいってこともままあったな
HTML5がムーブメント生まれる瞬間でとにかく足並みを揃えさせるが難しかった時代
divで1点1点打つCanvasのポリフィルとか作った記憶がある
それでたしか100x100くらいの表示させるとガラケーで1フレーム数分とかかかってた
imodeのコンテンツ保護を無効にする手順とか、ブラウザをクラッシュさせるJSとか
沢山発掘して今思うと一番Webを楽しんでたときだな
__proto__廻りのバグやそれを元にした脆弱性とかも普通に俺でもホイホイ見つけられた時代 そのうち半分くらいは報告したが
今のように報奨金制度とか全く流行ってなかったので
特にお礼も言われずに終わってたのが今振り返ると悔しい >>899
Firefoxは背景色表示はできてたが
あるバージョンから突然できなくなってしまった と思ったらこのスレ見たのかまたできるようになってて草
コード何一つ変えてないのに お前の思考レベルが草だろ
Firefoxがいつ更新されたと思ってんだ
糞馬鹿か 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%にまた増加してる。微増し続けてた。 増えているのはアフィゴミどもとかが量産してるwordpressが増えているから
これを開発者がjQuery使ってるとか勘違いするバカが勝ち誇ってるだけ その可能性はあるよね。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%に減ったのが問題なんじゃぁ >>907
wordpress以外にもjQuery使ってるかもわからんゴミサイトがたくさんあるからな
お前はゴミをかき集めて勝ち誇ってるゴミ信奉者
そんで>>904の分析頼む でもそれいったら、React使ってるゴミではないサイトは
手足の指の数程度だろ・・・ 分析も何も、このアンケートに記録した人は
普段どんなものを作ってるんですか?でしか無いと思うけど?
どうせウェブサイトではなくてウェブアプリ開発者用のアンケートで偏ってるんでしょ?
切り取ったデータでわからないけど、せめて誰を対象としたアンケートなのかいってくれないとね 世界的にはjQueryはバカ御用達ライブラリという認識
もはやバカか無能しか使わないんだよ そう思ってないとやってられないんだよ
冷静に考えるとメリット無いんだが
ほらみんなやってるしすごいって言ってるし 質問です
自作のページ【A】で、何かしらのイベント(例えば'#a'をクリック)が起こるたびに
バックグラウンドで開いた他者製のページ【B】で、何かしらのイベント(例えば'#bをクリック')を起こしたいと思っています。
自分で考えつく方法としては例えば、Chrome拡張機能などで他者製のページ【B】に対し
「このページが開かれるたびに'#b'をクリック」
というユーザースクリプトを設定しておき
自作のページ【A】で'#a'をクリックするたびに【B】を開く⇢すぐ閉じる
くらいしか思いつきませんが
開いたり閉じたりしない、もう少しスマートな方法ってないでしょうか? >>916 追記です
「このページを開いたとき」でなく
$(window).on('focus')
としておき、タブを切り替えるだけでいけますかね…?
しかしページを新たに開くのでなく、元々開いているタブにフォーカスを切り替えることなんてできるんでしょうか >>917
なんて言えばいいのかちょっと難しいですが
業務上ちょいちょいクリックしたいボタンがあって
(悪いことではないです その他者製のページというのも半ば身内製と言いますか…
自由に変更要望を出せるものではないんですが)
わざわざ画面を行き来してボタンを探す時間の節約…
という面もありますが、うっかり忘れを防止したいというのもあります
(2つのページをセットで作業してるものの、基本的にAのページばかり開いててBの作業をやり忘れることがよくあり
忘れてて後からになると業務に遅れが生じてしまうので…) 【Ruby】window_handles・・・複数のウインドウハンドルを取得する
http://www.seleniumqref.com/api/ruby/window_get/Ruby_window_handles.html
Selenium WebDriver の、
driver.switch_to.window(ウィンドウ・ハンドル) 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 へ移動する その用途でSeleniumを使うのは時間の無駄だって言っておく そしてseleniumはJava製。いろんな言語のドライバが出ているがrubyのドライバはメンテナンスが悪い。るび〜すと(笑)が飽きっぽく、「る、るびぃ〜でもできるしっ」と言いたいがためだけの実験作だからだw $ gem list selenium
selenium-webdriver (3.141.0)
Ruby のは、141 まで進んでいる! >>917
web上の事務作業を楽にするって事だろう
>>916
基本的には難しい
もしjsで別タブを触れるとすると、サイト開いた瞬間に全タブの情報を抜き取るってアホみたいな事が可能になる
>自作のページ【A】で'#a'をクリックするたびに【B】を開く⇢すぐ閉じる
>くらいしか思いつきませんが
>開いたり閉じたりしない、もう少しスマートな方法ってないでしょうか?
これが通るならコレでいいと思う
>>920はアホみたいな方法なので止めておいた方が良い そりゃ、JavaScript は、そのページ内・DOM を操作するものだろ
一方、Selenium Webdriver は、ブラウザを操作するもの。
そのブラウザで開いている、すべてのページを、人間がするように操作できる
役割が異なる まあchrome限定でいいならpupetteerで両方できるんですけどね 質問させてください。
これの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 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' ] ] >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"]; Firefoxってwidth、height操作のアニメーションやslideDownの挙動がすごくもっさりしませんか? レス数が900を超えています。1000を超えると表示できなくなるよ。