解決済み

別窓を共有したいのです。

  • すぐに回答を!
  • 質問No.973317
  • 閲覧数107
  • ありがとう数4
  • 気になる数0
  • 回答数5
  • コメント数0

自身のHP作成中です。
作品ひとつずつの詳細を別窓で表示させたいのです。
沢山窓の出る方法は分かるのですが、ひとつの窓を共有する方法が、どうしても分かりません。

ご存知の方、教えてください。
お願いします。

質問者が選んだベストアンサー

  • 回答No.5

ベストアンサー率 44% (138/313)

すみません間違えました。
再投稿します。NO4は忘れてください。

こんにちは、Blackwinglsです。
http://pfservice.co.jp/index.html
確認いたしました。
やりたい内容が把握できました。
今までの回答はかなり内容が違っているようですので、新たに回答いたします。
今までの分は忘れてください。


http://pfservice.co.jp/index.html
外部ファイルにてJavaScriptを動かしているようです。
かなり簡単にまとめると、上記index.html内で
function new_win1(){
window.open("index2.html","windowTitle","width=400,height=200")
}
としてindex2.htmlファイルを子windowに呼び出します。

index2.htmlにある各コンテンツを仮に、ニュース、ショップ、サービスの三つとすると、
<a href="f-news.html">ニュース</a>
<a href="f-shop.html">ショップ</a>
<a href="f-service.html">サービス</a>
のような感じでリンクを貼っておきます。

ニュースがクリックされた時のf-news.htmlの中見は
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="menu.html" name="ue">
<frame src="news.html" name="sita">
</frameset>
としておきます。
menu.htmlファイルは全てで共有で使用します。
menu.htmlの中見は
<a href="news.html" target="sita">ニュース</a>
<a href="shop.html" target="sita">ショップ</a>
<a href="service.html" target="sita">サービス</a>
<a href="index2.html" target="_top">トップ</a>
最後のトップが上手く動作しない時は、_top を _parent に置き換えてみてください。
news.html は表示したい内容を普通に記述してくれればokです。

同様にショップがクリックされた時のf-shop.htmlの中見は
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="menu.html" name="ue">
<frame src="shop.html" name="sita">
</frameset>
としておきます。
menu.htmlは上記の物をそのまま使用します。
shop.htmlは表示した内容を普通に記述すればokです。

同様にサービスがクリックされた時のf-service.htmlの中見は
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="menu.html" name="ue">
<frame src="servive.html" name="sita">
</frameset>
としておきます。
menu.htmlは上記の物をそのまま使用します。
service.htmlは表示した内容を普通に記述すればokです。

こんな感じで、希望の動作はするのではないかと思います。

参考urlのサイトは実際にはもっと高度な事をしているのですが、前述の簡単な方法でもご希望の動作をさせることは可能です。
ページの遷移がややこしいような気がしますが、落ち着いて何処からどのファイルが呼ばれているのかじっくり考えれば、そんな難しい事でもないですよ。

では頑張ってくださいね。

ではでは~☆彡
お礼コメント
noname#205963

とても分かりやすい説明、ありがとうございます!
実は希望内容とそっくりなサイトを発見したはいいけど、ソースを見てもサッパリで参っていました。
「質問したけど、答えてもらった内容が分からなくてウンザリさせちゃうかも」って(笑)

このやり方なら、なんとかできそうです。
色々な仕組みを熟知すれば、こうして発想の転換で応用できるのですね。改めて感じました。

この機会に、もっと沢山勉強してみたくなりました。
本当に、何度もありがとうございました!!
投稿日時 - 2004-08-25 13:38:52
感謝経済

その他の回答 (全4件)

  • 回答No.4

ベストアンサー率 44% (138/313)

こんにちは、Blackwinglsです。
http://pfservice.co.jp/index.html
確認いたしました。
やりたい内容が把握できました。
今までの回答はかなり内容が違っているようですので、新たに回答いたします。
今までの分は忘れてください。


http://pfservice.co.jp/index.html
外部ファイルにてJavaScriptを動かしているようです。
かなり簡単にまとめると、上記index.html内で
function new_win1(){
window.open("index2.html","windowTitle","width=400,height=200")
}
としてindex2.htmlファイルを子windowに呼び出します。

index2.htmlにある各コンテンツを仮に、ニュース、ショップ、サービスの三つとすると、
<a href="f-news.html">ニュース</a>
<a href="f-shop.html">ショップ</a>
<a href="f-service.html">サービス</a>
のような感じでリンクを貼っておきます。

ニュースがクリックされた時のf-news.htmlの中見は
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="menu.html" name="ue">
<frame src="news.html" name="sita">
</frameset>
としておきます。
menu.htmlファイルは全てで共有で使用します。
menu.htmlの中見は
<a href="f-news.html" target="sita">ニュース</a>
<a href="f-shop.html" target="sita">ショップ</a>
<a href="f-service.html" target="sita">サービス</a>
<a href="index2.html" target="_top">トップ</a>
最後のトップが上手く動作しない時は、_top を _parent に置き換えてみてください。
news.html は表示したい内容を普通に記述してくれればokです。

同様にショップがクリックされた時のf-shop.htmlの中見は
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="menu.html" name="ue">
<frame src="shop.html" name="sita">
</frameset>
としておきます。
menu.htmlは上記の物をそのまま使用します。
shop.htmlは表示した内容を普通に記述すればokです。

同様にサービスがクリックされた時のf-service.htmlの中見は
<frameset rows="20%,80%" frameborder="0" border="0" framespacing="0">
<frame src="menu.html" name="ue">
<frame src="servive.html" name="sita">
</frameset>
としておきます。
menu.htmlは上記の物をそのまま使用します。
service.htmlは表示した内容を普通に記述すればokです。

こんな感じで、希望の動作はするのではないかと思います。

参考urlのサイトは実際にはもっと高度な事をしているのですが、前述の簡単な方法でもご希望の動作をさせることは可能です。
ページの遷移がややこしいような気がしますが、落ち着いて何処からどのファイルが呼ばれているのかじっくり考えれば、そんな難しい事でもないですよ。

では頑張ってくださいね。

ではでは~☆彡
  • 回答No.3

ベストアンサー率 47% (16/34)

失礼します。HTMLタグで簡単にできます。
<head>内でベースターゲットを決めればOKです。

↓例
<html>
<head>
<title>タイトル</title>
<base target="imgwin">
</head>
<body>
<a href="aaa.gif">画像リンク1</a>
<a href="bbb.gif">画像リンク2</a>
</body>
</html>

新しいウィンドウ「imgwin」にリンク先が表示されます。
ただし、すべてのリンク先がその別窓にでるので
別窓に出したくないリンクは
<a href="aaa.html" target="_self">通常リンク</a>
というふうに、リンクタグに「 target="_self"」を入れてみてください。
お礼コメント
noname#205963

ご回答ありがとうございます。
HTMLでも簡単にできるのですね!
ハナからJavaScriptと思っていたので驚きました。

しかし、沢山開きたくないのは、サイズ指定、フレーム定義された小窓なのです。

丁度わたしがしたい事ズバリ!なとこが見つかったので、URL記ます。

http://pfservice.co.jp/index.html
投稿日時 - 2004-08-24 11:29:35
  • 回答No.2

ベストアンサー率 44% (138/313)

こんばんわぁ、Blackwinglsです。

前述のScriptにバグが出たので(^^;)、一部変更します。
なお、ちょっと仕様も変更しました(笑)

nWin = ""
function DispWindow(flag)
{
flag = flag + ".html"

if(!nWin || nWin.closed)
{
nWin = window.open(flag,"","width=650,height=500")
}
else
{
nWin.location.href = flag
}
}

で、お願します。

なお、何処らへんが不明なのでしょうか?
kiku125さんの
function new_win1(){
window.open("news.html","","width=650,height=500");
}
の部分を上記のScriptに置き換えればOKだと思います。
function の上の部分の nWin = "" も忘れずに付けてくださいね。

<a href="#" onClick = "DispWindow(0)"><img src = "0.gif"></a><p>
の部分は、DispWindow(0) の 0 とか 1 とか 2 の部分を表示したいhtmlファイル名の . (ドット)の左側部分の名称にでも置き換えてください。例えば、news.htmlを別窓に表示したい時は、
<a href="#" onClick = "DispWindow(news)"><img src = "0.gif"></a><p>
となります。

<img src = "0.gif"> の所は適当な文章に置き換えてもOKです。
作品No1 とか 作品No2 とかですね。

以上を踏まえて、

<a href="#" onClick = "DispWindow(sakuhin1)">作品No1</a><p>
<a href="#" onClick = "DispWindow(sakuhin2)">作品No2</a><p>

とされてもいいかと思います。

ではでは~☆彡
お礼コメント
noname#205963

こんにちは。
昨夜はお返事待てずにすみませんでした。

教えて頂いた方法、試してみましたが開きません。。
置き換えは、ゆっくり見たら分かりました。昨夜はかなりせっぱ詰まってたので、すみません。

nWin = ""
function DispWindow(flag)
{
flag = flag + ".html"

if(!nWin || nWin.closed)
{
nWin = window.open(flag,"","width=650,height=500")
}
else
{
nWin.location.href = flag
}
}

を、newwinの時の様に開きたいファイル数分繋げて良いのでしょうか?(やってみたけど×)

今までHP制作ソフトで作っていてJavaScriptは検索首っ引きでここまで漕ぎ着けました。
やっぱり無理なのかなぁ?と、ちょっとヘコんできちゃいました。。
投稿日時 - 2004-08-24 11:09:20
  • 回答No.1

ベストアンサー率 44% (138/313)

こんばんわぁ、Blackwinglsです。

以下のようなイメージでしょうか?
開くWindowの大きさや、読込み先をhtmファイルに変更するなどして色々試してみてください。

ではでは~☆彡

<html>

<head>
<script language="JavaScript">
<!--
nWin = ""
function DispWindow(flag)
{
flag = flag + ".gif"

if(!nWin)
{
nWin = window.open(flag)
}
else
{
nWin.location.href = flag
}
}
//-->
</script>
</head>

<body>
<a href="#" onClick = "DispWindow(0)"><img src = "0.gif"></a><p>
<a href="#" onClick = "DispWindow(1)"><img src = "1.gif"></a><p>
<a href="#" onClick = "DispWindow(2)"><img src = "2.gif"></a><p>
<a href="#" onClick = "DispWindow(3)"><img src = "3.gif"></a><p>
<a href="#" onClick = "DispWindow(4)"><img src = "4.gif"></a><p>
</body>

</html>
お礼コメント
noname#205963

うわぁ、こんな時間にありがとうございます!
...でも初心者なので分からないとこだらけです。。(その旨書けばヨカッタですね、すみません)

現在は
function new_win1(){
window.open("news.html","","width=650,height=500");
}

という感じで、これと同じのを4つ開く感じなんです。今度リニューする時は、もっと増えるので何とかしたいなぁと。
すみません、お時間有りましたら教えてください。
よろしくお願いします。
投稿日時 - 2004-08-24 01:58:04
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数によるOK-チップ配布スタート!

ピックアップ

ページ先頭へ