マンガでよめる痔のこと・薬のこと

こんばんは。

JavaScriptで別々のウィンドウを制御する場合、
通常「親子関係」があるウィンドウを制御すると思うのですが、
その「親子関係」が「無い」ウィンドウの状態を
把握する事ってできるのでしょうか?
(VC風に言うと、GetWindowなんちゃら~みたいな)

色々ググッてみても、あるのは親子関係のものばかりで・・・
どなたか、「方法」をご存知の方いましたら、
よろしくお願い致します。

#もしくは、「そんな方法ありゃせん」というご指摘でも可です(^^;

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> 既に開いてるWindowにさらにWindow.openを掛けるのは


> 言語の仕様的にOKなのでしょうか?

Javascript の規約は有名無実だし、MSDN の window.open() の
説明の箇所にも、そんなことは全く書いていません。

# でも、ずーっとこういう動きをしてます
    • good
    • 0
この回答へのお礼

なるほどなるほど。
今日は納品なんで、明日にでも試してみます。

ありがとうございました <(_ _)>

お礼日時:2005/06/14 11:30

制御したいウィンドウに、



・ウィンドウ名がついている
・開いていることが、あらかじめ分かっている

のであれば、

name = ウィンドウ名;
win = window.open("", name);

ってやれば、親子関係になくても、対象のウィンドウが取れちゃいます。

# ということではない?
    • good
    • 0
この回答へのお礼

今回の対応は、「不特定多数の不要なウィンドウを消す」ことらしいので、
メンテ面を考えるとちょっと難しいかもしれませんね (^^;

とりあえず、仕様変更で対応するようです。
ありがとうございました。


#ちなみに、私はあまりJavaScriptに詳しくないのですが、
既に開いてるWindowにさらにWindow.openを掛けるのは
言語の仕様的にOKなのでしょうか?

お礼日時:2005/06/13 11:25

基本的に無理だと思います。

    • good
    • 0
この回答へのお礼

#お礼するのが下手だなぁ・・・金曜に入れたハズなのに(^^;

やはり、基本的に無理ですか (^^;;
ググッてみても出てこない(のか、探し方が悪いのか)ので、
そんな事する人はいないんだろーなぁ、と思ってますが。

とりあえず、仕様変更で対応するようです。
ありがとうございました。

お礼日時:2005/06/13 11:21

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q特定のウィンドウ名を持つウィンドウの有無を判別

お世話になります。

現在、以下のスクリプトでPageA.htmlのボタンをクリックすると
新ウィンドウを開きPageB.jspを表示し、PageA.htmlは閉じます。
/* PageA.html */
function submitPageB(){
// "WindowB"が既に存在する場合は閉じる
var dummy = window.open("","WindowB","");
dummy.close();

// 待ち受けページを開く
var win = window.open("NowLoading.html","WindowB","width=800,height=600,scrollbars=no,resizable=no");

// WindowBにpost形式でパラメータ送信
with(window.document.formA){
action="PageB.jsp";
method="post";
target="WindowB";
submit();
}

//PageA.htmlを閉じる
window.close();
}

これを"WindowB"が存在するか判別して
"WindowB"がなければそのまま開く、
"WindowB"があればconfirmで新たに開くか開かないかを
選択させるようにしたいのですが、
"WindowB"というウィンドウ名のウィンドウを
取得する方法がわからないため実現できません。

var blWin = true;//※ここで"WindowB"が存在するかどうかを取得したい

if(!blWin || confirm("既に開いています。新たに開きますか?")){
submitPageB();
}

特定のウィンドウ名のウィンドウの有無を知る方法、
あるいは上記のことを実現させるよい案はないでしょうか?

よろしくお願いします。

お世話になります。

現在、以下のスクリプトでPageA.htmlのボタンをクリックすると
新ウィンドウを開きPageB.jspを表示し、PageA.htmlは閉じます。
/* PageA.html */
function submitPageB(){
// "WindowB"が既に存在する場合は閉じる
var dummy = window.open("","WindowB","");
dummy.close();

// 待ち受けページを開く
var win = window.open("NowLoading.html","WindowB","width=800,height=600,scrollbars=no,resizable=no");

// WindowBにpost形式でパラメータ送信
with(window.document.f...続きを読む

Aベストアンサー

できないと思います。

Q子ウィンドウの存在確認

子ウィンドウが開いていない場合にのみ子ウィンドウを開くような下記の処理があるとします。

function OpenSubWindow()
{
if(!w.closed()){
alert('閉じろ!');
}else{
w = window.open("a.html","sub","resizable=no,scrollbars=no");
}
}

この場合、当然のことですが、変数wはelseの中で初めて初期化されるため、ifの条件でオブジェクトが存在しないことによりエラーが発生します。

でも、"sub"というname属性のウィンドウが開いているかどうかを確認したいのですが、どうすればよいのでしょうか?wを初期化する方法が何かあるのでしょうか?それとも、subウィンドウのopen/closeの状態を管理するロジックを作りこまないといけないのでしょうか?

Aベストアンサー

細かなロジックを考える必要はありませんよ。
w がオブジェクトかどうか分からない時点で w.closed を評価するのがマズイだけですから、評価の順番を変えればいいんです。

var w;
function OpenSubWindow() {
  if (!w || w.closed)
    w = window.open("a.html", "sub", "resizable=no,scrollbars=no");
  else
    alert("閉じろ!");
}

ちなみに closed はメソッドではなくプロパティですので、w.closed() ではエラーとなります。
また、既に開いているときの処理は
  w.focus();
とすれば子ウィンドウがアクティブになるのでオススメです。

Qウィンドウ名からウィンドウオブジェクトを取得

対象ブラウザはIE6~8です。
2つのウィンドウA/Bが連動するプログラムを作っています。

ウィンドウAにはウィンドウBを開くためのボタンがあり、
Aより先にBが開くことはありません。必ずAからBが派生します。

Aはwindow.openの戻り値を保持することで、B内部のJavaScriptにアクセスします。
Bはwindow.openerプロパティを経由することで、A内部のJavaScriptにアクセスします。

しかし、Aには自身をリロードする機能があり、
リロードすると保持していたBのウィンドウオブジェクトを失ってしまいます。
そこでAがリロードし終わったとき(onloadのタイミング)に、
何とかしてBのウィンドウオブジェクトを取得しなければなりません。

window.openではウィンドウに名前を付けることができますが、
その名前からウィンドウオブジェクトを取得するような、
document.getElementByNameみたいなメソッドは存在しないでしょうか?

あるいは、BからAの監視を続け、リロードが終わった時に
window.opener経由でメッセージを送る等の処理を実現する手段はないでしょうか?

よろしくお願い致します。

対象ブラウザはIE6~8です。
2つのウィンドウA/Bが連動するプログラムを作っています。

ウィンドウAにはウィンドウBを開くためのボタンがあり、
Aより先にBが開くことはありません。必ずAからBが派生します。

Aはwindow.openの戻り値を保持することで、B内部のJavaScriptにアクセスします。
Bはwindow.openerプロパティを経由することで、A内部のJavaScriptにアクセスします。

しかし、Aには自身をリロードする機能があり、
リロードすると保持していたBのウィンドウオブジェクトを失ってしまいます。
そこでA...続きを読む

Aベストアンサー

>あるいは、BからAの監視を続け、リロードが終わった時に
>window.opener経由でメッセージを送る等の処理を実現する
>手段はないでしょうか?
簡単なテストをしてみましたが、できないことはなさそう。
ただし、いろいろな可能性があるので、それにちゃんと対処しようとすると少々面倒そうな気が…

以下、正常な処理の場合。
1)AのunloadイベントでBの関数を呼び出す。
2)Bの関数からsetTimeoutなどでBの監視関数を呼び出す。
3)Bの監視関数はopenerのreadyStateがcompleteになるまで、自分自身をsetTimeoutなどで呼ぶ。
4)completeを確認したら、opnerの受取り用関数にB自身を引数で送る。

単純に予定通りの操作しかなければ(↑)で再取得できるみたいですが、実際は、Bが手動で閉じられていたりAが別のサイトにジャンプする(unloadイベントなので)などなどその他のケースも考えると、けっこう面倒そうです。


別のアイデアとして…
・Aから同じ名前でBを開き直せば(多分、名前を付けているでしょうから)、Bを再取得することが可能です。
・それなので、Bを開いているか否かをクッキーに保存しておいて、それを確認してAのload時にBを開くかを決めることにしてあげればよさそう。
・Bが別のサイトに遷移したりクローズされたりする場合を考えると、Bのunloadでクッキーを書きかえる。
・Bのリロードも考慮するなら、loadでクッキーへ書込む必要があり、結局は、クッキーの書込みは全てB側で行い、Aは参照するだけということになりそう。

こちらはテストしていませんので、アイデアのみです。他に問題があるかも。
いずれにしろ、面倒そうですね。

>あるいは、BからAの監視を続け、リロードが終わった時に
>window.opener経由でメッセージを送る等の処理を実現する
>手段はないでしょうか?
簡単なテストをしてみましたが、できないことはなさそう。
ただし、いろいろな可能性があるので、それにちゃんと対処しようとすると少々面倒そうな気が…

以下、正常な処理の場合。
1)AのunloadイベントでBの関数を呼び出す。
2)Bの関数からsetTimeoutなどでBの監視関数を呼び出す。
3)Bの監視関数はopenerのreadyStateがcompleteになるまで、自分自身をsetTim...続きを読む

Q子→親ウインドウへデータを受け渡し、子ウィンドウを閉じる。

このような処理はできないでしょうか?

子ウィンドウはコード番号の検索用。該当のコードのリンクをクリックすると、そのコード番号を親ウィンドウのテキストボックスへ落とし込む。そのタイミングで、子ウィンドウは閉じる。
子→親ウインドウへのデータの受け渡しと、子ウィンドウのクローズを同時に行うようなイメージです。
よろしくお願いします。

Aベストアンサー

こんにちは

【親ウィンドウ】
<form action="xxx.php" method="POST" name="myForm">
顧客コード
<input type="text" name="kokyaku_cd" size="10">
<a href="javascript:void(0)" onClick="window.open('search.html','search','menubar=no,height=400,width=300');">検索</a>
</form>

【子ウィンドウ】
<script language="javascript"><!--
function ich(n) {
window.opener.document.myForm.kokyaku_cd.value=n;
window.close();
}
//--></script>

<table>
<tr>
<th>顧客コード</th>
<th>顧客名称</th>
</tr>
<tr>
<td><a href="javascript:ich('ABC商店')">0001</a></td>
<td>ABC商店</td>
</tr>
<tr>
<td><a href="javascript:ich('DEF商店')">0002</a></td>
<td>DEF商店</td>
</tr>
</table>

もしくはNo.1様の言うようにidを設定して
【親画面】
<input type="text" name="kokyaku_cd" size="10" id="kokyaku_cd">

【子画面 function内】
window.opener.document.getElementById("kokyaku_cd").value=n;

でできると思います

こんにちは

【親ウィンドウ】
<form action="xxx.php" method="POST" name="myForm">
顧客コード
<input type="text" name="kokyaku_cd" size="10">
<a href="javascript:void(0)" onClick="window.open('search.html','search','menubar=no,height=400,width=300');">検索</a>
</form>

【子ウィンドウ】
<script language="javascript"><!--
function ich(n) {
window.opener.document.myForm.kokyaku_cd.value=n;
window.close();
}
//--></script>

<table>
<tr>
<th>顧客コード</th>
<t...続きを読む

Qウインドウの親子連携について

親ウインドウでデータを処理して、その結果だけを子ウインドウに表示します。
つまり、親が管理の画面となり、子はそれのうち必要な結果のみを見せる形です。
利用者側の状況としては、
 親ウインドウ > 管理部門
 子ウインドウ > 一般利用者(表示された情報を見るだけ)
という感じでそれぞれを表示します。


親から子を生成し、親がボタンを押せば子がリロードするのはうまくいきました。
しかし、親の方が管理運営するために、データの変化を常にPHP(DB)に送信するのでそのたびにリロードされます(更新状態で再描画するため)。
親からのリロード指令を受けて子は自身をリロードし、親がアクセスするDBから必要な情報だけ取得して再表示します。

問題は、親がリロードすることによって、自分の生成した子供を忘れてしまうのか、
親のリロード後に子を指定している変数(下記の"cWin")の値がなくなってしまうようで子にリロードの要求を出せなくなります。
(ブラウザエラー:cWinはNullまたはオブジェクトではありません)


>親ウインドウ
・ウインドウオープン
function childOpen{
cWin = window.open("child.html","child","width=200,height=200,resizable=1");
}
・子ウインドウリロード指示
function childReload{
cWin.location.reload()
}

ウインドウオープンの指示(Form使用)
<input type="button" value="表示" onClick="childOpen()">
子ウインドウへのリロードの指示
<input type="button" value="リロード" onClick="childReload()">

なお、変数指定時に
var cWin = "child";
としてもダメでした。

なんとか、親がリロードされても生成した子供を覚えておく、あるいは何らかの形で生成済みの子ウインドウを指定する方法はないでしょうか?
よろしくおねがいします。

なお、対象はWindowsXP+IE6で考えています。

親ウインドウでデータを処理して、その結果だけを子ウインドウに表示します。
つまり、親が管理の画面となり、子はそれのうち必要な結果のみを見せる形です。
利用者側の状況としては、
 親ウインドウ > 管理部門
 子ウインドウ > 一般利用者(表示された情報を見るだけ)
という感じでそれぞれを表示します。


親から子を生成し、親がボタンを押せば子がリロードするのはうまくいきました。
しかし、親の方が管理運営するために、データの変化を常にPHP(DB)に送信するのでそのたびにリロードされ...続きを読む

Aベストアンサー

JavaScriptで作成した変数はリロードすれば最初の状態に戻ります。

アプリケーションの作りによって出来る場合、出来ない場合がありますが、私は以下の2つのどちらかを行います。

1.ウィンドウに名前をつける。
ウィンドウに名前をつければ、親はその名前で呼べば子ウィンドウを知ることができます。
var child = window.子ウィンドウの名前;

もし子ウィンドウがいっぱい出来るようなら、どこになんて名前をつけるか厳密に管理する必要があります。

2.子が親に自分を知らせる。
子ウィンドウはwindow.openerで親ウィンドウを知ることが出来ます(たとえ親がsubmitでリロードしても)。親ウィンドウに子ウィンドウをセットするような関数を作っておけば、子ウィンドウからのアクションで親ウィンドウに自分を知らせることができます。
例)
親ウィンドウ
var child;
function setChild(win) {
child = win;
}

子ウィンドウ
window.opener.setChild(window);

この方法では「子ウィンドウがfunctionを実行する」という点が難点です。親が「リロードした後」という記述があるところをみると、この方法は使えないのではないかと思います。

頑張ってください。

JavaScriptで作成した変数はリロードすれば最初の状態に戻ります。

アプリケーションの作りによって出来る場合、出来ない場合がありますが、私は以下の2つのどちらかを行います。

1.ウィンドウに名前をつける。
ウィンドウに名前をつければ、親はその名前で呼べば子ウィンドウを知ることができます。
var child = window.子ウィンドウの名前;

もし子ウィンドウがいっぱい出来るようなら、どこになんて名前をつけるか厳密に管理する必要があります。

2.子が親に自分を知らせる。
子ウィンドウはwin...続きを読む

Qブラウザの×ボタン(閉じるボタン)押下時のイベントをひろいたい

javaScriptでブラウザの閉じるボタン(×ボタン)を押したときに、functionを走らせたいのですがうまくいきません。onunloadで以下の処理を行っています。


if(event.clientX <= -8980 && event.clientY <= -9000 || event.clientX >= 32700 && event.clientY >= 32700) {
 //ブラウザ閉じられたときの処理
}
閉じるボタンを押してなくても走ってしまったり、不安定なのですが、×ボタン押下時のイベントの拾い方をどなたかご教授ください。よろしくお願いします。

Aベストアンサー

すでにお気づきかも知れませんが、下記URLの掲示板にヒントが載ってました。
WSH利用者さんのソースが、なかなか良いみたいです。

-- 以下、引用 --
function window.onbeforeunload() {
  if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey){
    閉じたときの処理();
  }
}
-- --

参考URL:http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=559017&SiteID=7

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Qjavascriptでセレクトボックスの"selected"を動的につ

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>月

<select name='day'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日


このセレクトボックスに、例えば今日の日付"2010年9月30日"だったら、それぞれの年、月、日の<option>に"selected"をつけたいのですが、javascriptではどのようにして実現したら良いのでしょうか?

よろしくお願いします。

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8...続きを読む

Aベストアンサー

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
</select>月

<select name='day'>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日
</div>
</form>

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<opt...続きを読む

Qラジオボタンの選択肢をサーブレットで取得するには?

サーブレットの開発を行っていますが、ブラウザー側で
ラジオボタンを選択した際に何を選択したかのデータを取得したいのです。
(下記のHTMLで言えば、割引手形か、手形貸付か、証書貸付というのを取得したいのです)
パラメーターをサーブレットで受け取りたいのですが
うまくいきません
HTMLでHIDDENを使用するとか聞いたことはあるのですがどのようにコーディングすればいいんでしょうか?
よろしくお願いいたします。

<p>
<input type="radio" name="radiobutton" value="radiobutton">
割引手形 
<input type="radio" name="radiobutton" value="radiobutton">
手形貸付 
<input type="radio" name="radiobutton" value="radiobutton">
証書貸付
</p>

ブラウザー側からは
<form action="http://localhost/servlet/yuushi" method=post>
の指定を行っています。
サーブレットでの受け取り方を、
String p2=request.getParameter("radiobutton");
 とすると、p2=radiobuttonとデータがセットされました。

サーブレットの開発を行っていますが、ブラウザー側で
ラジオボタンを選択した際に何を選択したかのデータを取得したいのです。
(下記のHTMLで言えば、割引手形か、手形貸付か、証書貸付というのを取得したいのです)
パラメーターをサーブレットで受け取りたいのですが
うまくいきません
HTMLでHIDDENを使用するとか聞いたことはあるのですがどのようにコーディングすればいいんでしょうか?
よろしくお願いいたします。

<p>
<input type="radio" name="radiobutton" value="...続きを読む

Aベストアンサー

それぞれの項目の value を、ユニークにして下さい。例えば、

<input type="radio" name="radiobutton" value="1"> 割引手形 
<input type="radio" name="radiobutton" value="2"> 手形貸付 
<input type="radio" name="radiobutton" value="3"> 証書貸付

そうすれば、「手形貸付」を選択したときに

String p2 = request.getParameter("radiobutton");

とすれば、p2 は "2" になります。

Q他のwindowをcloseしたい

題のとおりなのですが、、

現在、あるSUBMITボタンを押すと、
"WINDOW1"という名前のwindowを立ち上げるものがあります。

別のSUBMITボタンを押すと、
"WINDOW1"をcloseする方法を知りたいです。

window.close()では、
WINDOW1ではなくSUBMITボタンがあるwindowが閉じてしまい
WINDOW1だけ むなしく残ってしまいます。

なさけない話、
window.WINDOW1.close とか
WINDOW1.close とか試してみたのですが・・・
全然違うようですね・・。。

どうすればいいのでしょうか?

Aベストアンサー

> この場合は この前にWin1と指定してあげればいいのでしょうか?

いや、駄目ですよ。

私の書いた回答の win1 は、ただの変数名で何でもいいんです。
その win1 が何を指しているか、が重要なんです。新しく開いたウィンドウを
指しているのよ、ということをしているのが

a-kuma> win1 = window.open(なんとかかんとか);

のところなんです。


前に似たようなことをしたことがありますが、そのときはこんな小細工をしました。

var win1;

/* SUBMIT ボタンの onClick で呼出される関数 */
function open_window() {
/* 先にブランクのウィンドウを開いておく */
win1 = window.open("about:blank", "WINDOW1", サイズとかなんとか);
...
document.form[0].target="WINDOW1";
document.form[0].submit();
}

/* ウィンドウを閉じるとき */
win1.close();

> この場合は この前にWin1と指定してあげればいいのでしょうか?

いや、駄目ですよ。

私の書いた回答の win1 は、ただの変数名で何でもいいんです。
その win1 が何を指しているか、が重要なんです。新しく開いたウィンドウを
指しているのよ、ということをしているのが

a-kuma> win1 = window.open(なんとかかんとか);

のところなんです。


前に似たようなことをしたことがありますが、そのときはこんな小細工をしました。

var win1;

/* SUBMIT ボタンの onClick で呼出される関数 */...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング