ウィンドウの操作



0   名前: エル : 2007/07/31(火) 20:34  ID:X7ZJuaOf sub-C7
【何をしたいのか】

まずトップ(index.html)を開きます。
そのページ内のリンクのA(a.html)を別ウィンドウで開きます。

そのA(a.html)内のリンク、トップ(index.html)をクリックした時に
初めに開いたトップ(index.html)を手前に表示させ、
もし、初めに開いたトップ(index.html)を閉じていた場合は新規のウィンドウで
トップ(index.html)を再度開かせたいのですが
どのようにjavascriptを組めばよろしいのでしょうか?
どなたかわかる方がいましたら知恵を貸していただけると助かります。


【現在の状況】

何分初心者でいろいろなサンプルサイト等を回ってみたのですがうまくいきません・・・

【サンプルの提示】
javascriptを入れてないソースはこんな感じです。

-----index.html------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>トップページ</title>
</head>
<body bgcolor="#f5f0c1" style="margin:0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">ここはトップページ<br><a href="a.html" target="_blank">Aへ</a></td>
</tr>
</table>
</body>
</html>

-----a.html------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>A</title>
</head>
<body bgcolor="#ffff00" style="margin:0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">ここはAのページ<br><a href="index.html">トップページへ</a></td>
</tr>
</table>
</body>
</html>

どうぞ、よろしくお願いいたします。

1   名前: 匿名 : 2007/07/31(火) 20:34  ID:epW2eUw6 sub-8t
function goTop() {
    if (!opener || opener.closed) {
        opener = open('index.html');
    } else {
        opener.focus();
    }
    return false;
}
<a href="index.html" onclick="return goTop()">トップページへ</a>

http://www.tagindex.com/javascript/window/sub_to_main.html
サブからメインウィンドウを操作する
http://www.tagindex.com/javascript/window/focus.html
ウィンドウをアクティブにする

2   名前: エル : 2007/07/31(火) 20:34  ID:57uJjC4j sub-C7
>匿名さん

お返事ありがとうございます!
すいません、もう一つ条件を付加したものを作りたいのですが
もしよろしければもう一度お知恵を貸していただけないでしょうか?

まずトップ(index.html)を開きます。
そのページ内のリンクのB(b.html)を同一ウィンドウで開きます。
その開いたB(b.html)ページ内のリンクのA(a.html)を新規ウィンドウで開きます。
今開いたA(a.html)内のリンク、トップページ(index.html)をクリックした時に
もう一つの開いているウィンドウ、B(b.html)が初めに開いたトップ(index.html)に変わり
もし、B(b.html)を閉じていた場合は新規のウィンドウで
トップ(index.html)を再度開かせたいのですが
この場合はどのようにすればいいのでしょうか?

あと、B(b.html)がトップ(index.html)のままだった場合は前回同様に
A(a.html)内のリンク、トップ(index.html)をクリックした時に
初めに開いたトップ(index.html)を手前に表示させ、
もし、初めに開いたトップ(index.html)を閉じていた場合は新規のウィンドウで
トップ(index.html)を再度開かせるのを含みます。

どうぞ、よろしくお願いいたします。

トップ--------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>トップページ</title>
</head>
<body bgcolor="#f5f0c1" style="margin:0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">ここはトップページ<br><a href="a.html" target="_blank">Aのページへ</a><br><a href="b.html">Bのページへ</a></td>
</tr>
</table>
</body>
</html>

A-------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>A</title>

<script type="text/javascript">
<!--

function goTop() {
if (!opener || opener.closed) {
opener = open('index.html');
} else {
opener.focus();
}
return false;
}

//-->
</script>

</head>
<body bgcolor="#ffff00" style="margin:0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">ここはAのページ<br><a href="index.html" onClick="return goTop()">トップページへ</a></td>
</tr>
</table>
</body>
</html>

B-------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>B</title>

<script type="text/javascript">
<!--

function goTop() {
if (!opener || opener.closed) {
opener = open('index.html');
} else {
opener.focus();
}
return false;
}

//-->
</script>

</head>
<body bgcolor="#CCCCCC" style="margin:0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">ここはBのページ<br>
<a href="a.html" target="_blank">Aページへ</a></td>
</tr>
</table>
</body>
</html>

3   名前: 匿名 : 2007/07/31(火) 20:34  ID:epW2eUw6 sub-8t
このように変えてもらえますか?
function goTop(a) {
    if (!opener || opener.closed) {
        opener = open(a, a.target);
    } else {
        opener.location.href = a;
        opener.focus();
    }
    return false;
}
<a href="index.html" onclick="return goTop(this)">トップページへ</a>

なお、B(b.html)ではgoTopを使っていないので不要です。

4   名前: エル : 2007/07/31(火) 20:34  ID:57uJjC4j sub-C7
>匿名さん
おかげ様でうまくいきました!
ありがとうございました。

一覧へ戻る