X



+ JavaScript の質問用スレッド vol.131 +
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2017/11/21(火) 21:58:33.01ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【条件】期待する回答の条件を書いてください。(ex: jQuery不可, フレームワーク不可)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
0493Name_Not_Found
垢版 |
2018/02/05(月) 00:36:25.08ID:???
>>491
だからHTMLに直接変数名を書くことが
間違いだって話だよ

他のやつもやる必要のないことを書くな
0494Name_Not_Found
垢版 |
2018/02/05(月) 01:08:14.66ID:???
そんなの環境とコーディング規約次第だろ
0495Name_Not_Found
垢版 |
2018/02/05(月) 01:09:29.45ID:???
>>494
その理屈だと、腐った環境やクソなコーディング規約に
したがって開発しろって言ってるように見えるが?
0496Name_Not_Found
垢版 |
2018/02/05(月) 01:10:08.48ID:???
だからHTMLに直接変数名を書くことが
腐った環境やクソなコーディング規約だって話だ
0497Name_Not_Found
垢版 |
2018/02/05(月) 01:44:44.15ID:???
ページごと、ユーザーごとのパラメータをHTMLに書くことはあるぞ
どうせlocalStorageかHTMLに書くかAjaxで取得するかくらいしかないし
0498Name_Not_Found
垢版 |
2018/02/05(月) 01:52:32.96ID:???
今話をしてるのはJavaScriptの変数の話だ
分かってないなら黙ってろ
0499Name_Not_Found
垢版 |
2018/02/05(月) 01:56:06.57ID:???
HTML内で
var userData = {}

外部JSファイル内で

(function(){
something(userData.何か);
})();

こういうことだろ
0500Name_Not_Found
垢版 |
2018/02/05(月) 02:11:37.12ID:???
>>497
常に何から何までXHRで済ませられるわけじゃないしな
0501Name_Not_Found
垢版 |
2018/02/05(月) 03:20:21.65ID:???
>>499
細かいことだがそれ(function(){ })(); で囲う意味ある?
0502Name_Not_Found
垢版 |
2018/02/05(月) 03:40:25.36ID:???
window.now = performance.now;
now();

こう書くと"オブジェクトの呼び出しが無効です"と怒られるんすよ
なんででしょうね
0503Name_Not_Found
垢版 |
2018/02/05(月) 04:26:38.57ID:???
thisの問題ですね。
now()で呼び出したときもthisがperformanceを指すように以下のようにbindしときましょう。
window.now = performance.now.bind(performance);
0504Name_Not_Found
垢版 |
2018/02/05(月) 05:42:06.72ID:???
とりあえずthisを拘束すればいいという考えはあまり良いとは思えないな
エイリアスという点では今は
fn = ( ...args ) => performance.now( ...args )
と書く方が良い
bind構文が実装されて記述が容易になるとともに
bindを常日頃から使う文化が広がったらbind構文の方が基本になると思う
0505Name_Not_Found
垢版 |
2018/02/05(月) 05:43:42.70ID:???
より「ハック」っぽくないのはどちらかっていう意味ね
0506Name_Not_Found
垢版 |
2018/02/05(月) 06:17:58.17ID:???
ハックっぽいかなぁ?
>>503はbindした新しい関数返してるだけで別になんにもハックしてなくない?
bindなんてES5から入ってるし実装されてるかどうか気にするレベルにないのでは…
0507Name_Not_Found
垢版 |
2018/02/05(月) 16:53:25.38ID:???
Google Maps (Javascript) API に関することはここでいい?

他に適当な質問スレがあれば教えてください。
0509Name_Not_Found
垢版 |
2018/02/05(月) 23:52:28.98ID:???
>>474
Windows8.1はダメなので、IE自体の問題のような感じです。
開発者ツールでみると
else { //* not MSIE browser
wid1.location.href=wz1;
}
で止まっているのですが、Windows7では不具合なく動いているので、どこがおかしいかわからないのです。
0510Name_Not_Found
垢版 |
2018/02/06(火) 02:26:00.54ID:155ekgt0
フォーム内のあるアイテムの入力文字数が
たとえば 5文字あるいは10文字あるいは空白の場合だけ入力できるようにするにはどうすればよい?
0512Name_Not_Found
垢版 |
2018/02/06(火) 08:19:49.38ID:???
サロゲートペアと結合文字の問題があるからな
サロゲートペアで結合文字のものもある
例えばアクセント付付点8分音符「"𝅘𝅥𝅮𝅻𝅭"」は一文字でlengthは10だ
0513Name_Not_Found
垢版 |
2018/02/06(火) 11:45:45.30ID:???
>>492
ありがとうございました。
無事にこちらの方法で変数名を変えずに圧縮することができました。
0514507
垢版 |
2018/02/06(火) 13:15:35.38ID:???
>>508
ありがとう。しかしそっちはちと寂しかったです。
0515Name_Not_Found
垢版 |
2018/02/08(木) 22:50:41.60ID:???
基本的なことだと思うんだけど、分かってないので

click event についてなのですが
event発生のタイミングって、カーソルのpushが対象から抜けた時ですよね
表現がヘンで伝わってるか不安だけど

ブラウザゲームっぽいの作ってまして
touchしたときにevent発生させることってできるんでしょうか?
0516Name_Not_Found
垢版 |
2018/02/08(木) 23:34:02.32ID:???
タッチならタッチ専用のイベントが有る
タッチ専用のイベントは有るがマウスにも対応しようとしたら
いろいろ面倒なので、統合的に使えるライブラリを探したほうが良いかもね
俺の知識は古いので何が最善かまで言えない
0519Name_Not_Found
垢版 |
2018/02/08(木) 23:51:08.92ID:???
マウスならmousedown、タッチならtouchstart
まあ両方やっとけばいい
0520Name_Not_Found
垢版 |
2018/02/08(木) 23:53:20.77ID:???
タッチは300ms問題とかもあったはず。ライブラリ使うべき。
0521Name_Not_Found
垢版 |
2018/02/09(金) 00:01:43.51ID:???
300ms問題はtapやで
だからtouchstart使うんや
0522515
垢版 |
2018/02/09(金) 00:11:31.05ID:???
>>517
えっ!あっそか
と思ってやってみました (jqueryでね)
$('#hoge').on('click', function () {
console.log('ムフフ');
});

$('#hoge').on('mousedown', function () {

desktop版firefox お〜動くー!

iOS safari あれ?挙動が click と同じだなぁ
0523Name_Not_Found
垢版 |
2018/02/09(金) 00:13:58.77ID:???
あー、思い出した FastClick.js だ
300ms問題を解決するライブラリ
0524Name_Not_Found
垢版 |
2018/02/09(金) 00:18:02.30ID:???
>>522
そういうこと。
ブラウザによって挙動が違ってよく分からんw

そういやタッチとマウスを統一的に扱えるようにした
Pointer Eventsってどうなったんだろうね

https://caniuse.com/#search=pointer%20events
結局Chromeは実装したみたいだけど
0525515
垢版 |
2018/02/09(金) 00:25:48.81ID:???
皆様ありがとう!
スマホはmouseじゃないからなのか

ぐぐってやってみて、ちゃんと動くようになったのが
var clickEventType = ((window.ontouchstart!==null) ? 'mousedown':'touchstart');
$('.slotBtn').on(clickEventType, function () {
socket.emit($(this).attr('id'));
});
// thankYou!!!
0526Name_Not_Found
垢版 |
2018/02/09(金) 00:35:08.20ID:???
タッチパネルつきパソコンはどうなるのか?って考えると
両方onしたほうがいいのかもしれないけどな

イベント2つ扱うときはこういう書き方な

$('.slotBtn').on("mousedown touchstart", function () {
socket.emit($(this).attr('id'));
});

あとどうでもいいけど、イベントハンドラ内のthisみたいに
必ず要素が一個であると断定できる時は、this.id と最近は書いてる
0527Name_Not_Found
垢版 |
2018/02/09(金) 00:41:05.58ID:???
内部でvarしない関数定義もしない即時関数って、即時関数にする意味なんかある?
0529515
垢版 |
2018/02/09(金) 00:44:41.07ID:???
>>526
mousedown と touchstart 併記したら
safariのやつが2つとも反応しちゃうんですよ

this.id の件了解!きっとこの方が速いんですよね
0530515
垢版 |
2018/02/09(金) 00:50:57.13ID:???
>>527
$('.slotBtn').on(clickEventType, socket.emit(this.id));
ってことですね
習慣でいたるところに…
0531Name_Not_Found
垢版 |
2018/02/09(金) 00:52:03.46ID:???
例えばbuttonの中に生の文字と<img>があってbuttonにイベントリスナつけたとき
0533Name_Not_Found
垢版 |
2018/02/09(金) 00:56:43.96ID:???
>>530
それ動くの?
>>527で言ってるのは例えばこんな感じの記述
(function(){
 document.getElementsByClassName('slotBtn')[0].addEventListener('mousedown', function(){
  call.some.function();
 }, false);
})();
0534515
垢版 |
2018/02/09(金) 00:56:44.37ID:???
>>532
なんんでぇー
0535Name_Not_Found
垢版 |
2018/02/09(金) 00:58:46.31ID:???
>>534
関数そのものを渡さなきゃいけない
function(){}を渡すのはいいが、
socket.emit(this.id)ではsocket.emit(this.id)を実行した結果が渡される

って感じか?
0536515
垢版 |
2018/02/09(金) 01:01:09.65ID:???
>>533
やってないんで、やらんで良かった
コードさんきゅです、理解できた
0537Name_Not_Found
垢版 |
2018/02/09(金) 01:03:05.75ID:???
>>534
それだとその行にきた段階でリスナー登録じゃなく socket.emit() が実行される
もとのやつでいい
0539Name_Not_Found
垢版 |
2018/02/09(金) 01:10:09.52ID:???
そのうえ
画面のスクロールとかスクロールバー付き要素のスクロールとか
2本以上の指のタッチとか
アホかってほどいっぱい面倒なもんが出てくるからな
0541Name_Not_Found
垢版 |
2018/02/09(金) 01:23:18.30ID:???
ただ単にタッチを検出したいだけなら
touchstartとかでいいが

タッチを利用したカルーセルのような
インターフェースを作りたいのなら
自作するより使ったほうが楽

理由は>>539が書いているとおり
0542Name_Not_Found
垢版 |
2018/02/09(金) 01:31:40.71ID:???
>>515
自分も作るけど使い分けなくて便利だからPointer Events使ってる
来年にはFxとSafariでも使えそうな雰囲気だし
今はChromeとEdgeだけでもいいでしょ
0543Name_Not_Found
垢版 |
2018/02/09(金) 01:34:56.66ID:???
>>541
カルーセル作りたいなら、の意味がわからん
0544Name_Not_Found
垢版 |
2018/02/09(金) 01:43:38.37ID:???
touch, mouse を透過的に扱うのは、
Electron, Cordova, React などのフレームワーク

>>533
ECMA5 では、ブロックスコープが無かったから、
関数でスコープを作る
0546Name_Not_Found
垢版 |
2018/02/09(金) 01:53:28.22ID:???
バッドノウハウの温床というやつだな
0547Name_Not_Found
垢版 |
2018/02/09(金) 01:54:39.96ID:???
>>544
内部でvarしない関数定義もしない場合、スコープ作る必要ある?
0548Name_Not_Found
垢版 |
2018/02/09(金) 04:12:44.08ID:???
前提知識として学ばないといけないことが多すぎ複雑すぎなのが嫌なのに
ライブラリの構造とか使い方とか
さらにさらにバージョンごとの差異とか
そんなん使ってられませんわ
0549Name_Not_Found
垢版 |
2018/02/09(金) 08:46:59.23ID:???
JSの仕組み自体はシンプル・イズ・ザ・ベストなのに
0550Name_Not_Found
垢版 |
2018/02/09(金) 08:59:58.13ID:???
というか、柔軟なんだよ
0551Name_Not_Found
垢版 |
2018/02/09(金) 09:43:55.08ID:???
>>543
> カルーセル作りたいなら、の意味がわからん

考えることがたくさんあるからだよ
要件次第だが

カルーセルで横スクロールする時、
縦スクロールしたらページはスクロールするか?とか

ピンチ、ピンチアウト機能と両立できるか?とか

スクロールはスムーズか?とか
(スムーズにするためのCSSの機能があるが使えない機種がある)
0552Name_Not_Found
垢版 |
2018/02/09(金) 10:00:02.38ID:???
カルーセルの基礎構造って

・操作に応じて横方向に画像が切り替わりループするスライド
・スライドを操作する「<」「>」ボタンや「□■□□」のようなナビゲーションを兼ねたボタン

これだけじゃないのか
touchendが使えればtouch*、でなきゃclickやmousedown、だけで普通にpure jsで書けね
0553Name_Not_Found
垢版 |
2018/02/09(金) 11:08:48.56ID:???
初心者が失礼します
http://fast-uploader.com/transfer/7073696781713.jpg
このコードで28行目の関数の引数eventはクリックしたときに引き渡されると思うんですが何が引数として引き渡されているのでしょうか?
event.clientXとevent.clientYでそれぞれ左上から縦横の位置を示してるのはわかるんですが、
じゃぁ.clientXと.clientYをとったときのeventってなんなんだろうって疑問になります。
この引数はいったい何でいつどんな変数が入ってるのでしょうか?
0554Name_Not_Found
垢版 |
2018/02/09(金) 11:28:00.42ID:???
イベントオブジェクトの一種、マウスイベントオブジェクト
clickされたときにブラウザがイベントオブジェクト作って引数eventとして引き渡してくれる

.clientXや.clientYはマウスイベントオブジェクトが持っているプロパティ
だからevent.clientXでマウスX座標が取れる
https://developer.mozilla.org/ja/docs/Web/API/MouseEvent/clientY
0555515
垢版 |
2018/02/09(金) 11:47:48.48ID:???
>>542
pointer events って便利そうだけど
今、動作するのは chrome と edge だけってことですか?
作ってるサービスの対応ブラウザとしては、できるだけ多くを相手にしたいです。

自分が作ってる中で
押したらすぐ反応して欲しい部分は、プレイ画面中のボタンだけなんです
ある機械の状態をWebRTCでリアルタイムに流してて、ボタンはその機械を操作するものです
これスレと関係なかった
0556Name_Not_Found
垢版 |
2018/02/09(金) 11:49:18.43ID:???
>>554
なるほど、リスナーに引数を持つ関数を登録するとブラウザが自動で引数にイベントオブジェクトを入れてくれるんですね。
ありがとうございます。
0557515_555
垢版 |
2018/02/09(金) 12:16:28.78ID:???
スレ違だろうなぁ、でも他に
知見のある人のいるスレが見つけられない m_m

もう諦めてるんですが
画面サイズから video を90度回して縦方向いっぱいに計算して表示してるのですが
スマホ画面の上とか下に出てくるじゃまなやつのせいで動画が
ちっちゃくなってしまうのは、どうにもならないですか
0558Name_Not_Found
垢版 |
2018/02/09(金) 13:21:50.31ID:???
何でFullScreenAPI使わないの?
0559515_555
垢版 |
2018/02/09(金) 14:55:53.28ID:???
>>558 ありがとう!
これも、なんぞそれ!?
ってことで調べながらやってみてます
が、90度回してる影響かうまくいってないです
0560Name_Not_Found
垢版 |
2018/02/10(土) 11:50:49.98ID:oy2RaxPK
下で「START」ボタン押してもなにもおこらないんですがなぜでしょう?
エラーは出ません。
chromeです。

<div class="container operate">
<ul>
<li><button class="button" id="start" onclick="click()" >START</button></li>

</ul>
</div>
<script type="text/javascript" charset="utf-8" >
function click() {
window.alert("2");
}
</script>
0561Name_Not_Found
垢版 |
2018/02/10(土) 12:17:41.99ID:???
click()の関数名がまずいっぽいね
click1()に変えたら動いたよ
0562Name_Not_Found
垢版 |
2018/02/10(土) 12:35:50.48ID:???
そういうのもあるし、onclick属性とは
HTMLのonなんたらで処理呼び出すのやめなよ
0563Name_Not_Found
垢版 |
2018/02/10(土) 12:51:55.94ID:oy2RaxPK
>>561
ありがとうございます!
>>562
最初は別ファイルからインポートしてたんですけど
はじめてスクリプト埋め込んだのでなんで動かないのかわからなかったので
とりあえず動かなくなる地点を探そうとして
順番に埋め込むところを移動させていました。
0565Name_Not_Found
垢版 |
2018/02/10(土) 13:29:12.18ID:???
react?あれはJSXだから関係ない
0566Name_Not_Found
垢版 |
2018/02/10(土) 13:47:15.21ID:???
>>565
細かい話をするとreactとJSXも関係ない。別にJSX使わなくても全部関数で書ける。
で、JSXで書いて、reactが生成する生DOM確認してみた?onclick属性使われてるよ。
0567Name_Not_Found
垢版 |
2018/02/10(土) 13:54:02.97ID:???
>>566
reactとJSXは関係ない。
だからreactは持ち出してくるなって話なんだが?
0568Name_Not_Found
垢版 |
2018/02/10(土) 14:15:36.43ID:???
>>567
根拠なくon*属性にハンドラ書くの否定するなという話なんだが?
0569Name_Not_Found
垢版 |
2018/02/10(土) 15:23:07.72ID:???
reactがHTMLのon*使ってるかどうかはon*が良いか悪いかの指標にはならん
0572Name_Not_Found
垢版 |
2018/02/10(土) 15:50:10.61ID:???
 |ヽ∧_    
 ゝ __\   やめなよ
 ||´・ω・`| > 
/  ̄ ̄  、ヽ _______
└二⊃  |∪=| |─── /
 ヽ⊃ー/ノ    ̄ ̄ ̄ ̄
    ̄`´ ̄
0573Name_Not_Found
垢版 |
2018/02/10(土) 20:33:03.75ID:tiFE6zoU
こう言う文字列を作成して
var str ='文字列';
var func = '<button onclick="func(¥'' + str + '¥')">実行</button>';
funcをhtmlのページに埋め込みました。
そのhtmlを表示すると、文字列strが英数字なら問題ないのですが、文字列中にシングルクォーテーションとかダブルクォーテーション
が混じっているとエラーが出ます。
正しい解決方法を教えてください。
0574Name_Not_Found
垢版 |
2018/02/10(土) 21:22:04.38ID:???
埋め込みました、て・・・document.writeしたりelement.innerHTMLに入れたりしてんだろ
なんでcreateElementしてaddEventListenerしてappendChildしないんですか
0576Name_Not_Found
垢版 |
2018/02/10(土) 21:45:41.78ID:???
シングルクォーテーションの数が奇数です
0577Name_Not_Found
垢版 |
2018/02/10(土) 22:49:57.63ID:tiFE6zoU
>>574
やり方が分からないからです。
0578Name_Not_Found
垢版 |
2018/02/10(土) 23:12:46.00ID:???
>>577
もろもろエスパーするとこれはサーバーサイドテンプレート…
expressかなにかでやってる?
0580Name_Not_Found
垢版 |
2018/02/10(土) 23:31:51.47ID:???
やっぱたぶんサーバーサイドテンプレートなんだろうな。
質問するのになんで隠すのか分からんが。

ほらよ>>573
出力確認のためのconsole.logもつけたから良く確認するように。
var str = 'こんにちは\'赤"ちゃん'; // 念のため言っとくがこの場合ここシングルクォートにエスケープ必要
console.log(str); // こんにちは'赤"ちゃん
str = str.replace(/'/g, "\\'"); // ブラウザJSのコンテキストでシングルクォートエスケープ処理
console.log(str); // こんにちは\'赤"ちゃん
str = str.replace(/"/g, '&quot;'); // HTMLのコンテキストでダブルクォートエスケープ処理(文字参照に変換)
console.log(str); // こんにちは\'赤&quot;ちゃん
var func = '<button onclick="alert(\'' + str + '\')">実行</button>';
console.log(func); // <button onclick="alert('こんにちは\'赤&quot;ちゃん')">実行</button>
0581Name_Not_Found
垢版 |
2018/02/10(土) 23:34:28.83ID:???
あ、すまん確認のためfuncをalertに変えてたんだった。alertはfuncに置換してくれ
0582Name_Not_Found
垢版 |
2018/02/11(日) 00:43:04.96ID:???
babelって今は末尾再帰最適化をサポートしてくれないんですか?
せっかく気軽に再帰で開発できると思ったのに……
0583Name_Not_Found
垢版 |
2018/02/11(日) 01:03:27.06ID:???
SSIだとなんか問題起きるんか(ハナホジ
0584Name_Not_Found
垢版 |
2018/02/11(日) 01:36:10.68ID:???
>>582
プラグインになっただけじゃねーの?

https://www.npmjs.com/package/babel-preset-optimized

This is a list of plugins this uses. Do note that by default, not all of these may run:

babel-plugin-minify-constant-folding
babel-plugin-loop-optimizer
babel-plugin-closure-elimination
babel-plugin-tailcall-optimization
0585Name_Not_Found
垢版 |
2018/02/11(日) 02:21:31.20ID:???
https://w3techs.com/technologies/overview/javascript_library/all

w3techsによると2017年1月の時点で71.9%のサイトが
JavaScriptのライブラリとしてjQueryを使用していることが判明したが
それから1年たった2018年1月現在、73.2%に1.4%も増えていることが判明した。

またAngularは0.5%、だがReactが伸びてきており0.5%
とAngularを逆転したことがわかる

だがjQueryには大幅なさをつけられており取って代わるのは
いつになるのか動向が注目される
0586Name_Not_Found
垢版 |
2018/02/11(日) 02:46:01.53ID:???
軽く使えるDOM操作ライブラリってほとんどないから
0587Name_Not_Found
垢版 |
2018/02/11(日) 02:51:23.00ID:???
jqueryに大幅な差というよりangularやreactが木っ端なだけだろ
0588Name_Not_Found
垢版 |
2018/02/11(日) 03:18:40.93ID:???
自前でwebサービス立ち上げてる会社以外reactもangularも出番ないんですもの。
0589Name_Not_Found
垢版 |
2018/02/11(日) 03:57:28.37ID:???
自社でがっつりやるなら自社で組む手があるからなぁ
他所のポリシーに合わせる必要なくなる
0590Name_Not_Found
垢版 |
2018/02/11(日) 08:39:54.82ID:???
>>573
jQuery を使え

<button id="btn1">押して</button>

$('#btn1').click (function() {
// ここに処理を書く
console.log("クリックされた");
});
0591Name_Not_Found
垢版 |
2018/02/11(日) 11:48:00.24ID:???
>>585
取って代わるてw
使われ方が全く違うだろ
0592Name_Not_Found
垢版 |
2018/02/11(日) 11:49:51.13ID:???
> 使われ方が全く違うだろ

ちゃんとした考え方できる人はそうわかるんだけどね。
今のところjQueryがなくなることはない。
jQueryの代替技術はない

だけど一部のjserどもが、jQueryはオワコン
これからはAngular、Reactやで!
jQuery使わなくて頑張ればコストがかかるだけでできる!
などと言い始めたからね。
■ このスレッドは過去ログ倉庫に格納されています

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