プロが教えるわが家の防犯対策術!

最初に「index.html」にアクセスしたときは、そのままのタイトル表示
(<title>タグ内のもの)で問題ないのですが、インラインフレーム内
に、例えば「annai.html」を表示させたときに、現在のフレーム内の
ページタイトルに変えることは可能でしょうか?

下に詳しく表記します。
アクセス当初「index.html」

・・・・・・・・・・・・・・・・・・・・
<html>
<head>
<title>インデックス</title>
</head>
<body>
<a href="annai.html" target="NAME">案内</a>
<iframe name="NAME" (略)></iframe>
</body>
<html>
・・・・・・・・・・・・・・・・・・・・
上記のままだとブラウザのタイトルバーに「インデックス」と表示される

インラインフレームに「annai.html」を表示させたとき、

・・・・・・・・・・・・・・・・・・・・
<html>
<head>
<title>案内</title>
</head>
<body>
</body>
<html>
・・・・・・・・・・・・・・・・・・・・
タイトルバーを上記の<title>タグ内の、「案内」に変えたい

返ってややこしい説明になっていましたら、スイマセン。
回答よろしくお願いいたします。

A 回答 (2件)

Javascriptを使って。



<iframe
onload="document.title=this.contentWindow.document.title"
~></iframe>

Javascriptを使っているので、iframe内に別ドメインのページ(外部サイト)を読み込むとエラーになります。

最初からiframe内のページのタイトルになりますので、
最初にiframe内に表示するページに妥当なtitleを付けておく必要があります。

Operaでは動作せず。原因不明。(ただしエラーにもならない。)
    • good
    • 0
この回答へのお礼

できました!
cssで何とかならないものかと足掻いていましたが、これでも納得です。
Javascript、便利ですね。

Operaブラウザのために、index.htmlのタイトルにも配慮します。

有難うございました。

お礼日時:2008/07/18 12:26

蛇足です。

が、ちょっと気になったので。

> cssで何とかならないものかと足掻いていましたが、

CSSはあくまで見栄えを整えるものであり(一部動的に見える効果や使用法もありますが)、動的に何かを書き出したり、という機能は担っていませんのでJavaScriptは全く性質の違うものです。特に、今回の様な<title>~</title>に関しては「見栄え」とは"全く関係のない"<head>内の要素ですし、その中のテキストを入れ替えるなどということはできません。今後はCSSの役目を把握しておく事をお奨めします(無駄な労力を費やさない為に)。
    • good
    • 0
この回答へのお礼

WEBデザインを始め、実務を1年ほど経てから
自宅での制作依頼があり、やっと実績に繋げたくらいの知識です。

ご指摘有難うございます!

お礼日時:2008/08/10 08:35

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