• ベストアンサー

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

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

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

  • ベストアンサー
回答No.5

すみません間違えました。 再投稿します。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
質問者

お礼

とても分かりやすい説明、ありがとうございます! 実は希望内容とそっくりなサイトを発見したはいいけど、ソースを見てもサッパリで参っていました。 「質問したけど、答えてもらった内容が分からなくてウンザリさせちゃうかも」って(笑) このやり方なら、なんとかできそうです。 色々な仕組みを熟知すれば、こうして発想の転換で応用できるのですね。改めて感じました。 この機会に、もっと沢山勉強してみたくなりました。 本当に、何度もありがとうございました!!

その他の回答 (4)

回答No.4

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

  • sanetaka
  • ベストアンサー率47% (16/34)
回答No.3

失礼します。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"」を入れてみてください。

参考URL:
http://tohoho.wakusei.ne.jp/html/base.htm
noname#205963
質問者

お礼

ご回答ありがとうございます。 HTMLでも簡単にできるのですね! ハナからJavaScriptと思っていたので驚きました。 しかし、沢山開きたくないのは、サイズ指定、フレーム定義された小窓なのです。 丁度わたしがしたい事ズバリ!なとこが見つかったので、URL記ます。 http://pfservice.co.jp/index.html

回答No.2

こんばんわぁ、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は検索首っ引きでここまで漕ぎ着けました。 やっぱり無理なのかなぁ?と、ちょっとヘコんできちゃいました。。

回答No.1

こんばんわぁ、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つ開く感じなんです。今度リニューする時は、もっと増えるので何とかしたいなぁと。 すみません、お時間有りましたら教えてください。 よろしくお願いします。

関連するQ&A