[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
196: (ワッチョイ d501-KuSQ [60.111.111.83]) 2022/11/15(火)06:06 ID:zBqzsCj00(1) AAS
>>195
無理
197
(2): (ワッチョイ a905-wHkz [210.143.72.233]) 2022/11/15(火)08:04 ID:mRl02hRT0(1/2) AAS
すみません、先日JavaScriptによるクリックについて質問した者です
情けないのですが、今度は別サイトの再生ボタンがどうしても押せず困っています

インターネットラジオFM++ FMはなび再生ページ
外部リンク:fmplapla.com

ソース見るとiframeもshadowDOMも使っていないように見えるのに、再生ボタンを押せません

document.getElementsByClassName("player_start_button")[0].click()
document.getElementsByClassName("start_stop_button_button")[0].click()

上記2つとも駄目でした。どうすればJavaScriptで再生ボタンをクリックできるでしょうか?
どなたかもう一度だけ教えてください、宜しくお願いいたします
198: (ワッチョイ bd4f-FFna [180.0.191.133]) 2022/11/15(火)09:45 ID:ott+UO1u0(1) AAS
該当する要素がない

start_btns = document.getElementsByClassName("player_start_button")
console.log( start_btns.length ) //=> 0

start_stop_btns = document.getElementsByClassName("start_stop_button_button")
console.log( start_stop_btns.length ) //=> 0
199
(1): (ワッチョイ f6cf-gPc0 [153.174.224.39]) 2022/11/15(火)11:01 ID:9SlnRoJw0(1/2) AAS
>>197
ブラウザの DevTools でイベントリスナーの click を見ると見つかる
200: (ワッチョイ f6cf-gPc0 [153.174.224.39]) 2022/11/15(火)11:16 ID:9SlnRoJw0(2/2) AAS
>>199
chromeだと当該要素の「検証」をすると出てくる
201
(1): (ワッチョイ bd61-+FOd [180.15.119.124]) 2022/11/15(火)19:29 ID:T0qQfj8P0(1) AAS
>>197
対象のclassをよく見てみよう
202: (ワッチョイ a905-wHkz [210.143.72.233]) 2022/11/15(火)20:10 ID:mRl02hRT0(2/2) AAS
>>201
document.querySelectorAll("button")[0].click()で行けました
有り難うございました
203: (ワッチョイ dd5f-PnSp [14.8.104.32]) 2022/11/16(水)00:23 ID:q+7X+iJ00(1) AAS
こういう程の良い距離感のアドバイスを遅れる人間になりたいですな
204: (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]]) 2022/11/16(水)01:03 ID:yZvimkXe0(1/4) AAS
>>170ですが、やっぱりキャンセルボタンを押すと
CAN.onClick = function(){win1.close()}の所で終わらなくて、最後の行まで実行されるんですがどうすれば中断出来るんでしょうか?
キャンセルしてもテキストの大きさが変わって終わります
205
(1): (テテンテンテン MM8e-PjKb [133.106.50.10]) 2022/11/16(水)01:15 ID:6ujCOi6jM(1) AAS
そもそもキャンセルボタン押す前にテキストサイズ変わってんじゃねえの
206: (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]]) 2022/11/16(水)01:28 ID:yZvimkXe0(2/4) AAS
>>205
「画像とテキストが一緒になってる図で、画像だけ拡大縮小してテキストサイズはそのままにする」というスクリプトなんですけど、キャンセルすると図の大きさはそのままでテキストだけ拡大縮小してしまうんですよ
これでは困るのでキャンセルの箇所でコードから抜け出したい
207
(2): (ワッチョイ bd4f-FFna [180.0.191.133]) 2022/11/16(水)03:25 ID:pSETlPcG0(1) AAS
CAN.onClick = function(){win1.close(); return; }
ではなく、

CAN.onClick = function(){win1.close()}
return;

上は、その無名関数から抜け出すだけで、
下は、全体の処理から抜け出す
208: (ワッチョイ 3d4b-aW8A [110.2.215.28 [上級国民]]) 2022/11/16(水)14:57 ID:yZvimkXe0(3/4) AAS
>>207
まだ仕事中で確かめられていないのですが、キャンセルでなくてOKの時も抜けたりしませんか?
209: (ワッチョイ 3d4b-OzUL [110.2.215.28 [上級国民]]) 2022/11/16(水)16:05 ID:yZvimkXe0(4/4) AAS
>>207
return;を入れると、違う動作を始めたので保留にします。
時間がある時に考えます。
どうもありがとうございました。
210
(1): (ワッチョイ bd10-FFna [180.12.82.129]) 2022/11/17(木)16:50 ID:BipbxCG90(1/2) AAS
<div id="zahyou" style="position:absolute">aaaaaaaaaa</div>

<スクリプト>
for(let n=1;n<=100;n++){
if(n % 2 === 0){
document.getElementById("zahyou").style.left = "0px";
}
else{
document.getElementById("zahyou").style.left = "200px";

}
}
省18
211: (ブーイモ MM8e-ompL [133.159.152.122]) 2022/11/17(木)17:45 ID:ZrcXbqFYM(1) AAS
上も動いてるよ
一瞬で終わるから見えないだけ
212
(1): (ワッチョイ 46bd-masj [49.129.242.78]) 2022/11/17(木)18:17 ID:6VGHAaqQ0(1) AAS
>>210
画面のレンダリングは逐一行われないから。
イベント契機で実行されたスクリプトの処理を一旦終えたときその最終的な結果がレンダリングされるというか、一旦処理を終えないとレンダリングされないと思っておけばいい。
setInterval のやつは、インターバルの契機で実行された処理は1コマ分の処理だけして終わるから、その都度レンダリングされる(かもしれない)。
実際は周期があまり高頻度だと、処理を終えてもレンダリングされるとは限らず間引かれたりする。
ただ未レンダリングだからといってもDOMの状態やスタイルの設定などは逐一適用されてる。
213: (ワッチョイ bd10-iQtw [180.12.82.129]) 2022/11/17(木)20:15 ID:BipbxCG90(2/2) AAS
>>212
そうだったんですか
ありがとうございます
214: (ワッチョイ bd4f-FFna [180.0.191.133]) 2022/11/18(金)09:19 ID:Wj1K/ZC10(1) AAS
a = "0px";
a = "200px";

a = "0px";
a = "200px";

a = "0px";
a = "200px";

こういう処理を100回やってから、100回目の後だけ再描画されるのだろう。
1〜99回までは値が設定されるだけで、再描画されない
215
(1): (スッップ Sd7a-PnSp [49.98.175.43]) 2022/11/18(金)17:10 ID:T5zu6F7Id(1) AAS
横からで申し訳ないけど、アニメーション処理を行うならsettimeoutとかでわざと描画間隔を空ける必要があるって解釈でいいのかな?
1-
あと 787 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s