X



+ JavaScript の質問用スレッド vol.121 +
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001Name_Not_Found
垢版 |
2014/09/13(土) 19:11:44.98ID:???
JavaScript に関する何でも質問スレです。
お気軽にどうぞ。
0851Name_Not_Found
垢版 |
2021/09/18(土) 00:07:10.94ID:???
F12 開発者ツールのコンソールで、実行した

style_sheets = document.styleSheets

css_rules = style_sheets[0].rules
css_rules[1].cssText

出力
'#test li:hover { background: rgb(0, 255, 0); }'
0853Name_Not_Found
垢版 |
2021/09/18(土) 00:49:33.72ID:???
そりゃdocument.styleSheetsで取得出来ないとは誰もいってないし
0854Name_Not_Found
垢版 |
2021/09/18(土) 03:30:32.64ID:???
見苦しい言い訳は不要
負けを認めるか、潔く退場するかの2択
0855Name_Not_Found
垢版 |
2021/09/18(土) 03:38:49.61ID:???
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
0856Name_Not_Found
垢版 |
2021/09/18(土) 03:42:43.76ID:???
リスクも回避方法もない
過去には問い合わせで許可を得た上で図書館のサーバーにスクレイピングをした人が捕まってる
0857Name_Not_Found
垢版 |
2021/09/18(土) 08:34:11.72ID:???
>>851
#test1 li:hover,#test2 li:hover{
background:#0000ff;
}
というような書き方の場合test1 li:hoverを取得できないやろ
0858Name_Not_Found
垢版 |
2021/09/18(土) 12:10:18.16ID:???
>>854
俺は>>838>>843,845,847だが、何も間違ったことはいってないつもり
どの辺が言い訳なのか教えてくれ
0859858
垢版 |
2021/09/18(土) 12:13:53.88ID:???
俺からすると>>844,846が言い訳
「styleエレメントを見ればいい」に突っ込み入れてるのに、頓珍漢な返答で困った
0860Name_Not_Found
垢版 |
2021/09/18(土) 13:44:08.68ID:???
結局言い回しに数レスかけて難癖付けたってだけの話ね
0861Name_Not_Found
垢版 |
2021/09/18(土) 14:07:39.14ID:???
結局、正答は>>838>>848だけ
他の回答はノイズでしかないでしょ
0862858
垢版 |
2021/09/18(土) 14:15:06.90ID:???
>>860
言い回しだけでなく、ミスリードだと思うんだが、お前に分かるなら教えてくれ

>>835
> hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな

「styleエレメント」の言い回しを修正したとして、hoverのプロパティをどうやって取得するんだ?
0864Name_Not_Found
垢版 |
2021/09/18(土) 14:29:33.65ID:???
>>862
また言い回しだね
プロパティ(の内容)ってなんで補完できないかな
0865Name_Not_Found
垢版 |
2021/09/18(土) 14:39:55.24ID:???
荒らしだからかまうのやめよう
0866858
垢版 |
2021/09/18(土) 17:10:43.28ID:???
>>864
いやだから、それでどうやって実装する?
0868Name_Not_Found
垢版 |
2021/09/18(土) 17:34:19.01ID:???
言い回しが悪ければ実装手段も示せない>>835の負けだな
言い訳が見苦しい
0869Name_Not_Found
垢版 |
2021/09/18(土) 18:17:58.16ID:???
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください


>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?
0873Name_Not_Found
垢版 |
2021/09/18(土) 19:25:19.77ID:???
関係ないと思ってるのは君でしょ
0875Name_Not_Found
垢版 |
2021/09/18(土) 19:40:47.74ID:???
横からだが、>>835>>848になるとは俺も読めんわ
どう解釈したらこのコードになるのかさっぱりわからん
0876Name_Not_Found
垢版 |
2021/09/18(土) 19:48:15.84ID:???
分かるが、こんな難解コード書くならループ書くわ

スタイルシートを回って、ルール回って、全部をテキストとして結合して、:hover が含まれてるか判定
0877Name_Not_Found
垢版 |
2021/09/18(土) 19:58:03.09ID:???
翻訳してみた

hoverのプロパティ自体を見たければstyleエレメントを見ればいいんじゃないかな
 ↓
:hover疑似クラスを見たければ、document.styleSheetsを見ればいいんじゃないかな

間違ってる部分は他の正しそうな単語に置換していけば、いずれは正解に辿り着く
質問者は変換作業を頑張れ
0878Name_Not_Found
垢版 |
2021/09/18(土) 20:10:37.55ID:???
styleエレメントをdocument.styleSheetsと読みかえるところがエスパー力高いな
0879Name_Not_Found
垢版 |
2021/09/18(土) 20:15:44.91ID:???
それって CSSの優先順位や詳細度に継承おまけにimportantやなんか考慮するととてつもなくややこしくなるんじゃ
0880Name_Not_Found
垢版 |
2021/09/18(土) 20:20:37.25ID:???
>>878
コードから文章を読み取るのは出来そうだが、コードがない状態で文章からコードを作るのはまず無理だろうな
0881Name_Not_Found
垢版 |
2021/09/18(土) 20:43:05.75ID:???
>>878
hoverのプロパティ自体とあるから中身をa.style以外からとろうとすれば
document.styleSheets[x]ぐらいしかとるとこなさそうだけど
0882Name_Not_Found
垢版 |
2021/09/18(土) 21:10:19.52ID:???
>>881
正解を知ってる俺達が文章を改竄するのは難しくない
だが、もしも俺が正解を知らない質問者なら、document.styleSheetsには辿りつけない
0883Name_Not_Found
垢版 |
2021/09/18(土) 21:40:40.43ID:???
a.style以外からとるんだなとわかればぐぐればすぐわかるわな
0884Name_Not_Found
垢版 |
2021/09/18(土) 21:43:50.66ID:???
みんなすげーな
エスパー力5の俺にはJavaScriptは無理だと思った
0885Name_Not_Found
垢版 |
2021/09/18(土) 21:47:21.87ID:???
質問者はstyleの定義まで知ってるのだから
たどりつけないことはないと思うけどなあ
0887Name_Not_Found
垢版 |
2021/09/18(土) 22:01:45.40ID:???
ググって解決する奴なら質問しないだろ
0888Name_Not_Found
垢版 |
2021/09/18(土) 22:06:32.59ID:???
0からググるのと
なにか入ってからググるのでは大違いだからな
0889Name_Not_Found
垢版 |
2021/09/18(土) 22:28:59.42ID:???
誤った単語でググらされる質問者は大変だな
0890Name_Not_Found
垢版 |
2021/09/19(日) 07:36:15.87ID:???
>>820なんですが、>>830の方法が今回やりたいことに一番適合してていい感じに止めたい処理止めれました
回答頂けた方々ありがとうございます
0892Name_Not_Found
垢版 |
2021/09/21(火) 10:40:12.17ID:dHsYsAG0
有名企業などのサイトのsourceを見てみると、大概見た事ない独自の?jsファイルが山盛りなんですけど、
あれってどういう事ですか?three.jsだとかそういうの直接使わないで組み替えたりするんですか?
あとなんであんなに山盛りscriptがあるのか、、読んでも全く勉強にならないしどう勉強したらいいかもわあからない、、
0893Name_Not_Found
垢版 |
2021/09/21(火) 12:47:33.17ID:???
>>892
そういうのを自分で調べないから
いつまでたっても理解できないんだよ
0894Name_Not_Found
垢版 |
2021/09/21(火) 13:04:03.49ID:???
一個一個ublockでブロックしていったら何をしているかわかるんじゃないの?
0895Name_Not_Found
垢版 |
2021/09/21(火) 14:50:15.10ID:???
具体例1個出してみりゃいいじゃん
0896Name_Not_Found
垢版 |
2021/09/21(火) 20:17:24.51ID:???
>>822
横からですが、子要素のイベントが残ってたら便利そうと思って試してみたらら
全部外されてしまいましたw
自作関数なら参照リレー渡しが無難ですね
0897Name_Not_Found
垢版 |
2021/09/24(金) 12:59:36.08ID:???
数学座標を画面座標に変換する関数はありますか?
あれば何を使えばいいんですか?
画面座標は左上が(0.0)で下方向に行くとがy座標が増加
数学座標は中心が(0,0)で下に行くとy座標がマイナスなので
これを画面座標に変換しないとちゃんと表示できないので
0898Name_Not_Found
垢版 |
2021/09/24(金) 15:10:19.06ID:???
足し算引き算掛け算の問題やな
0901Name_Not_Found
垢版 |
2021/09/24(金) 23:57:24.96ID:???
-単項演算子を(0 - x)と考えるか(-1 * x)と考えるか
0902Name_Not_Found
垢版 |
2021/09/25(土) 00:05:44.70ID:???
<div style="width:80%;height:500px;background:blue"></div>の
長方形の中心座標はどうやって求めればいいんですか?
長方形の左上を原点(0,0)とする。y座標は500/2=250ってすぐに出るけど
x座標が固定値じゃないのでわからん。
0903Name_Not_Found
垢版 |
2021/09/25(土) 00:25:09.14ID:???
要素のoffsetWidthの半分じゃだめなの?
0904Name_Not_Found
垢版 |
2021/09/25(土) 11:02:09.79ID:???
fixedで固定表示している要素を、一定量スクロールするとabsoluteにして、
JSでtopの座標を指定して、浮いている状態が解除されたように見せています。

この機能がAndroidのchromeだと、上スクロール時にだけ表示されるアドレスバーと
ツールバーによって、fixedからabsoluteに変わるスクロール量がずれてしまうようで、
意図しないタイミングで切り替わっています。
どうにか改善する方法はありませんでしょうか?
0905Name_Not_Found
垢版 |
2021/09/26(日) 00:40:51.66ID:???
javascriptからNode.jsで立てたサーバ内のsqliteファイルを操作する方法を知りたいです
検索するとNode.jsでしか使えないコマンドを使ったものしか見つかりません
0907Name_Not_Found
垢版 |
2021/09/26(日) 05:15:04.85ID:???
>>906
そうなのですが、サンプルコードに載ってるrequestがエラーを出力します
Node.jsだけで使える関数があるようで、単にjsファイルとして呼び出すだけではエラーを返されます
0908Name_Not_Found
垢版 |
2021/09/26(日) 11:45:24.92ID:???
node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない
サーバー側でデータベースを操作するためのwebインターフェースを作ってそれにあわせてfetchやwebsoketで対話
node以外のサーバーでのやり方と何も変わらない
0909Name_Not_Found
垢版 |
2021/09/26(日) 12:17:43.79ID:???
なんかすごいね
よくサーバー立てられたなと感心する
0910Name_Not_Found
垢版 |
2021/09/26(日) 12:38:45.55ID:???
でもnodeは失敗作だからな
0911Name_Not_Found
垢版 |
2021/09/26(日) 13:17:31.86ID:???
んなこと言ったら世の中に失敗作じゃないものなんてほとんど無い。
0912906
垢版 |
2021/09/26(日) 13:38:12.51ID:???
>>908
> node.jsがjavascriptだからと言ってもブラウザのスクリプトから直に操作はできない

そういう意味じゃなくて、「javascript(Node.js)からNode.jsで立てたサーバ内のsqliteファイルを操作する方法」は既に出来てる、と伝えたかった
JavaScriptの実行環境が本人の口から出てこないので結局、伝わらなかったが
0913Name_Not_Found
垢版 |
2021/09/26(日) 13:56:41.41ID:???
そもそも「Node.jsで立てたサーバ内のsqliteファイル」があり得ないよな
「Node.jsでサーバ(ソフト)を立てたサーバ(ハード。物理か論理か知らんが)内のsqliteファイル」という意味かな
0914Name_Not_Found
垢版 |
2021/09/26(日) 15:33:47.48ID:???
>>913
それ以外にどういう意味にとれるの?
0915Name_Not_Found
垢版 |
2021/09/26(日) 16:21:24.31ID:???
複数のNodeListを一つのNodeListとして変数に入れることは可能でしょうか?
Array.fromでArrayにしてからつなぐのが無難なんでしょうか
0918Name_Not_Found
垢版 |
2021/09/26(日) 21:14:21.89ID:???
どっちかというとdenoの方が失敗しそうだけどな。
0919Name_Not_Found
垢版 |
2021/09/26(日) 21:29:10.18ID:???
>>915
NodeListには自身の編集用メソッドがない
1つにまとめて何をしたいのかによるが、DOM APIを使うならDocumentFragmentにしておけば、大体は対応できる
0920Name_Not_Found
垢版 |
2021/09/26(日) 21:54:03.73ID:???
ありがとうございます
DocumentFragment勉強してきます
0921Name_Not_Found
垢版 |
2021/09/26(日) 23:04:14.95ID:???
>>892
例えば、Ruby on Rails では、Node.js, Webpack, Babel, Bootstrap などを使っているから、
プロジェクトを作るだけで、node_modules 以下に、数千ものJavaScript のモジュールが入る。
React, Vue.js を使えば、さらにそれ用のモジュールも入る

>>905
例えば、Ruby on Rails では、プロジェクトを作って、モデル(テーブル)を定義すれば、
3大データベース、sqlite, mysql, postgresql でアクセスできる

さらに、scaffold という魔法の呪文を唱えれば、最初から、CRUD 操作もできる

だから最初から、Railsのようなフレームワークを使えばよい。
サーバー側は、Rails一択。それ以外は使われていない。
Node.js も分かりにくいだけ

詳しくは、YouTube で有名な、雑食系エンジニア・KENTA のサロンで聞いて下さい
0923Name_Not_Found
垢版 |
2021/09/27(月) 20:14:13.13ID:???
playerHeight = $("#player").height()!;
const top = position!.top;
とあるサイトに 上記のような コードがあり "!" の意味が分かりません。
これってjqueryなどの特定ライブラリの書き方なのでしょうか
参考になるサイトがあれば教えていただきたいです。
0927Name_Not_Found
垢版 |
2021/09/28(火) 00:41:10.01ID:???
きっとそこで何かビックリすることがあったんじゃないかな
0929Name_Not_Found
垢版 |
2021/09/28(火) 16:28:09.66ID:???
TS は、Type Script

TypeScriptの変数の末尾の"!"(エクスクラメーション/感嘆符)の意味
https://qiita.com/zigenin/items/364264a6cf635b962542

この"!"の呼び方は、Non-null assertion operator

プログラマがコンパイラに対して、
この変数はundefinedやnullになることはありません、と教える記述

let a = f( ); // 戻り値の型は、string | undefined とする
return a! ;

ここで、f からの戻り値が、undefined, null ではないと、
プログラマーが絶対の確信が持てるのなら、

無理矢理、a! として、undefined, null になる可能性を除去して、
string型だけであると、コンパイラに教えることができる

このように、コンパイラを欺いたら、後で大きなしっぺ返しを食らうかも
0930Name_Not_Found
垢版 |
2021/09/28(火) 17:06:24.47ID:???
valueは値みたいなイメージで使うことが多いと思うのですが、valueの変わりにelementとしてる人を見かけます。
これってどう違うのでしょうか
0931Name_Not_Found
垢版 |
2021/09/28(火) 17:29:10.74ID:???
問答無用にElementのインスタンスだろうそれは、と
自分はvalueは数値くらいにしか使ってないな
文字列はxxStrとか、日付はxxDtとか
0932Name_Not_Found
垢版 |
2021/09/28(火) 21:20:19.11ID:???
>>930
さすがに書いた人に聞いてくれ、としか
>>923といい、エスパー案件ばかりなんだが、なぜ証拠となるコードも出さずに当てずっぽうの回答をさせるんだ?
0933Name_Not_Found
垢版 |
2021/09/28(火) 21:28:03.17ID:???
https://test.wikinist.info/?page_id=51

フィルタ作ってます。
MemとWomenにチェックが入ってる時はその中からフィルタしたいと思ってるんですがどうしたらいいでしょうか?
現状はチェックした奴が全て表示されます。
0934Name_Not_Found
垢版 |
2021/09/28(火) 21:43:21.46ID:???
>>933
複数条件でフィルタリングすると該当なしってのもあり得るけど
その場合どうなる仕様なの?何も表示なし?
0935Name_Not_Found
垢版 |
2021/09/28(火) 22:01:10.10ID:???
>>934
Menにチェックが入っていてWomenの値が入ってる人をチェックした場合は表示なしって感じにしたいです

最初はリターンをこんな感じで書いてましたが何も表示されませんでした。
return filterArr.find(element => ((element.el === item.values().name) || (element.el === item.values().city)) && (element.el === item.values().sex));
0936Name_Not_Found
垢版 |
2021/09/28(火) 22:36:39.81ID:???
雰囲気的にmen womenが両方チェックありと両方チェックなしの場合は同じ扱い?
実現したい仕様があやふやでよく分からんのだが
0937Name_Not_Found
垢版 |
2021/09/28(火) 22:42:03.80ID:???
>>933でコードが出たが、今度は要求仕様がエスパー案件になったな
0938Name_Not_Found
垢版 |
2021/09/28(火) 22:50:23.20ID:???
men womeonの両方がチェックと両方チェックなしは同じ扱いということにしたいと思ってます。
0939Name_Not_Found
垢版 |
2021/09/29(水) 00:15:54.08ID:???
小手先でどうにかならないか考えたけど結局汚くなった
sexだけ扱い違うのにname,cityと一律並べてる時点で無理があるぞ
https://jsfiddle.net/5zeorj9u/
0940Name_Not_Found
垢版 |
2021/09/29(水) 01:22:12.16ID:???
>>929
ありがとうございます。
わかりました。
0941Name_Not_Found
垢版 |
2021/09/29(水) 16:00:40.75ID:???
>>939
ありがとうございます。
最後の部分で何と何を&&で評価しているのかあまり理解できないのでconsole logで確認したいと思ってますが
1行のアロー演算子使ってる場合ってどうやって間にconsole logをいれたらいいのでしょうか?
0942Name_Not_Found
垢版 |
2021/09/29(水) 17:45:41.39ID:???
>>941
カンマ演算子で実現可能だけど無理やり1行にする意味は無い
0943Name_Not_Found
垢版 |
2021/10/01(金) 17:17:31.83ID:???
https://jsfiddle.net/raion2542/q10vxbde/14/
https://jsfiddle.net/raion2542/eoLtsd5b/8/

1つ目はlist.js 2つ目はTabulator.jsを使っています。
この2つを共存させることはできますでしょうか?
「〜でソート」を押してソートできるかどうかです

2つ目の方のJSの一番下に
const options = {
valueNames: ['name','corporation','callsign','frequency','power'],
};
const featureList = new List('sample-list', options);
を書き込みましたがうまくいきませんでした
0944Name_Not_Found
垢版 |
2021/10/01(金) 21:47:59.36ID:???
控え目に言って悪魔合体が過ぎる
0945Name_Not_Found
垢版 |
2021/10/02(土) 00:01:47.70ID:EfyxePPB
昔Ajaxというのが流行ったと思うのですが今も使われているんでしょうか?
あまり聞かない気がするのですが死語で名前が変わったりしました?
0946Name_Not_Found
垢版 |
2021/10/02(土) 00:12:15.95ID:???
>>945
今も使ってるとこでは使ってるけど、Fetch APIも結構こなれてきた
0947Name_Not_Found
垢版 |
2021/10/02(土) 00:14:53.87ID:???
jQueryのAPIに名前が残ってるけど
今の時代JSが通信するなんて当たり前なので一々ajaxとは呼ばない
0948Name_Not_Found
垢版 |
2021/10/02(土) 01:30:30.56ID:???
>>946-947
説明ありがとうございます。今はFetch API?というのを使うのですか?
授業でこれを使えと言われたのですが今もこのコード使っても問題ないでしょうか?

// ===== Ajaxのお約束オブジェクト作成================================
// [入力]
// ・なし
// [出力]
// ・成功時: XmlHttpRequestオブジェクト
// ・失敗時: false
function createXMLHttpRequest(){
 if(window.XMLHttpRequest){return new XMLHttpRequest()}
 if(window.ActiveXObject){
  try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}
  try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}
  try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}
 }
 return false;
}
    :
    :
 xhr = createXMLHttpRequest();
 if (xhr) {
  sUrl_to_get = sUrl_ajax;
  sUrl_to_get += '?zipcode='+sZipcode;
  sUrl_to_get += '&dummy='+parseInt((new Date)/1); //(*1)ブラウザcache対策

  xhr.open('GET', sUrl_to_get, true);
  xhr.onreadystatechange = function(){zip2addr_callback(xhr, sAjax_type)};
  xhr.send(null);
 } // *1: GETメソッド時はURL文字列に、POSTメソッド時はsendの文字列につける
0949Name_Not_Found
垢版 |
2021/10/02(土) 01:31:26.36ID:???
この本、2019 年8 月12 日初版発行らしいです。
0950Name_Not_Found
垢版 |
2021/10/02(土) 02:42:40.18ID:???
FetchではなくXMLHttpRequest使うにしても
もうIE6以下用のActiveX用の部分はいらんでしょ
0951Name_Not_Found
垢版 |
2021/10/02(土) 03:35:33.46ID:???
xhrにActiveX…
IE亡き令和の世では仕事にも個人サイトにも使えないと思うがお勉強にはなる…のかな?
レス数が950を超えています。1000を超えると書き込みができなくなります。

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