別フレームの壁紙を変更する場合?

[統計] HTMLからXHTMLへの移行を進めていますか?



0   名前: kenoi : 2004/11/20 13:22
こんにちは。
こちらに”別フレームの背景色と文字色を変更する”という説明がありますが
それの、”壁紙を変更する”場合はどうすればいいのでしょう。

今までは、単純にページの背景を変える方法として
<span ONCLICK="document.body.style.backgroundImage='URL(壁紙名.jpg)';">変更</span>
としていましたが、リンクを別フレームに置くような感じで、メインのページの
壁紙を変更したいのです。

過去ログを探してみましたが、それらしいのが見つかりませんでした。
おわかりになる方、教えてください。

1   名前: 七鍵 : 2004/11/20 15:47   [URL
こんにちは。

多少方法は違いますが

onClick="parent.main.document.body.background='2.gif';"

のように記述すればできると思います。

「main」(メインのフレームページの名前)
「2.gif」(適当に背景画像を指定)
は変更下さい。

2   名前: kenoi : 2004/11/20 16:56
お答えありがとうございます。無事変えることができました!
ですがその次の作業でまたもや行き詰まってしまいました…

メインのページには説明のような文章がもとから置いてあるので
リストをクリックして壁紙を変えるとき、なにも書かれていない真っ白な
ページを表示してそこの壁紙を変えたいのです。
<A href="白いページ.html" target="main">と onClick="〜 を
組み合わせるようなことは出来るのでしょうか?
(ターゲットの後にonClickを入れても無理なんですね… ページは変わるけど壁紙は表示されず)
もしくは似たような動作をする別のやりかたはありますでしょうか。

たびたびすみませんが、宜しくお願いします。

3   名前: 七鍵 : 2004/11/21 06:24   [URL
JavaScript など使わずHTMLだけではだめですかね?
何も記述の無いフレームページの背景画像だけを変えるのであれば

メニューをクリック
 ↓
フレームページを変更(背景画像付き)

これでできると思いますよ。

4   名前: kenoi : 2004/11/21 13:53
HTMLだけでというのは、それぞれの背景を指定したページを作り、各ページへのリンクを
メニューフレームにはるということでしょうか?
それだと、背景画像を指定しただけのファイルを20ページほど作らなければならず
かなりの無駄かなと思って…
一度白いページをメインに表示させてから、メニューの画像変更リンクを押すという
方法では2度手間になってしまうし、と…(些細なことではありますが)

メニューのリンクを<A href="画像.jpg" target="main">とするのが一番簡単でイメージに
近いのですが、それだと画像が左上に配置されてしまいます。
画像はページ中央に配置したいし、大きめのもあるのでスクロールバーを出したくない…。

説明長くて(しかも下手で)すみません。何かよい方法はありませんでしょうか…

5   名前: むむりく : 2004/11/22 02:18
> それだと、背景画像を指定しただけのファイルを20ページほど作らなければならず
> かなりの無駄かなと思って…
面倒ではありますが、JavaScriptオフの方にも確実に見ていただけます。

一応、JavaScriptのサンプル載せておきます。
画像へのパスなど変えなければいけない点もあると思いますので、
あれこれ試して考えてみてください。

<A href="白いページ.html?壁紙名1" target="main">
<A href="白いページ.html?壁紙名2" target="main">

とクエリをつけたリンクに。
で、白いページ.html に、

<script type="text/javascript">
<!--
function bgChange() {
if(!document.getElementsByTagName || window.location.search == '') return;

var bg = window.location.search.substr(1);
document.getElementsByTagName('body')[0].style.backgroundImage = 'url("' + bg + '.jpg")';
}

window.onload = function() { bgChange(); }
//-->
</script>

6   名前: kenoi : 2004/11/22 23:11
お答えありがとうございます。

> 面倒ではありますが、JavaScriptオフの方にも確実に見ていただけます。
そうですね、おっしゃるとおりです。
手間を掛けないか訪問者への配慮をとるか、どちらに重きを置くかでいつも悩みます。

サンプル、置き換えて試してみましたが上手く動かすことができませんでした。
テスト用に一つのディレクトリにファイルも画像も全て入れているのですが
白いページを借りに siro.html とし、画像を kabe1.jpg とした場合
<A href="siro.html?kabe1.jpg" target="main">
でよろしいのでしょうか?
あと、siro.htmlに置くjavascriptは、書いていただいたものをそのまま
貼り付けるだけでOKでしょうか。
それとも画像名とかページ名とかをどこかに入れるのでしょうか…

重ね重ねすみません。お手透きの時にでも宜しくご指導ください。

7   名前: 七鍵 : 2004/11/22 23:35   [URL
<A href="siro.html?kabe1.jpg" target="main">
ではなく
<A href="siro.html?kabe1" target="main">
ですよ。

JavaScript内にある
'url("' + bg + '.jpg")';
        ~~~~~
がポイントです。

8   名前: kenoi : 2004/11/23 01:27
そうだったのですね…! >.jpg

できました。
無事、表示することができました。
七鍵さん、むむりくさん、どうもありがとうございました!

一覧へ戻る