XHTMLでHTMLのtargetと同じ機能を持たす方法



0   名前: naito : 2007/01/19(金) 21:16  ID:dlWw5LR5 sub-t1
XHTMLで子フレームで選択した物を親フレームで
表示したいのですがやり方が全く分かりません。
最初はHTMLと同様にtarget属性でウィンドウ名を設定したのですが、
作動せずに別窓でウィンドウが開いて、
文法チェックをしてみるとエラーが出ました。
どのような方法を取れば、XHTMLで子フレームで
選択した物を親フレームで表示出来るのでしょうか?

1   名前: Z ◆XTzyosZXcL : 2007/01/19(金) 21:16  ID:CSqyQR5N sub-Cl
 XHTML1.0 Transitional文書型およびFrameset文書型であれば、HTML4.01 TransitionalおよびFrameset文書型と同じように非推奨要素・非推奨属性が使用できますから、どうしても非推奨属性を使わざるを得ないのであればStrict文書型を諦めてそれらを宣言すればよいと思います(XHTML1.1はそれらの区別がなく、非推奨のものは廃止されています)。

参考・HTML&XHTML要素属性対比一覧)
http://www.scollabo.com/banban/senior/ref/cont.html

参考・XHTML1.0仕様書)
http://www.doraneko.org/webauth/xhtml10/20000126/Overview.html
http://www.w3.org/TR/xhtml1/

参考・仕様書の読み方など)
http://www.kanzaki.com/works/2001/pub/wsd01.html

2   名前: naito : 2007/01/19(金) 21:16  ID:dlWw5LR5 sub-t1
>>1
言葉足らずで申し訳ありません。
XHTML1.0 Strictを使ってホームページを作っていますので
ご指導頂いた方法では不可能だと思います。
試しにTransitionalに変えたらエラーが300ヵ所ほど出たので、
出来ましたら文書型の変更は勘弁していただきたいです。

3   名前: Z ◆XTzyosZXcL : 2007/01/19(金) 21:16  ID:CSqyQR5N sub-Cl
>>2
 Strictで適合ならTranditionalで300ヶ所もエラーは出ないと思うのですけれど・・・?(XHTML1.0TranditionalのつもりでHTML4.01Tranditionalを指定してしまうともちろんエラーになりますが(HTML4.01では空要素には終了タグがないため)。)
 また、Strictならば「フレーム」という概念は考えない話になりますが・・・もしかしてHTML(XHTML)ではなくて何らかのスクリプトで別窓を表示させていらっしゃいますか?

 いずれにせよ、具体的なソースがあればもっと的確な回答がつきやすいと思います。

4   名前: 通りすがり : 2007/01/19(金) 21:16  ID:S7aXdqVy sub-Ds
そもそも、XHTMLではフレーム機能は廃止されることになっているので、XHTML1.0 Transitionalではフレーム機能を使えますが、Strictでは使えません。

そんなにフレームを使いたいのなら、フレームを使っているページだけFramesetにして、あとはStrictにすればよいでしょうよ。

5   名前: 匿名 : 2007/01/19(金) 21:16  ID:Rt.j/.AI sub-kJ
>>2
> 試しにTransitionalに変えたらエラーが300ヵ所ほど出たので、

ちょい待ち。XHTML 1.0 Strict で妥当な文書は、Transitional でも妥当なはずだ。Transitional でエラーが 300 箇所あるなら、Strict ではもっとあるはずだぞ。

そもそも、フレームという発想が出た時点で、そのマークアップは Strict の思想に合わない。素直に Transitional にするのが吉。

まあ、スクリプトを使う手もあるが、思想に合わないものを無理矢理やる感があるので、私は(よほどの理由がない限り)お勧めしない。

>>4
XFrames 1.0 がどうなるか微妙なところだけどね。

6   名前: naito : 2007/01/19(金) 21:16  ID:dlWw5LR5 sub-t1
>>3-5
HTML4.01Tranditionalに指定していました。ご迷惑お掛け致します。
XHTML 1.0 StrictからXHTML1.0Tranditionalに変更し
target属性でウィンドウ名を設定する事で解決しました。
今までご回答有難うございます。

一覧へ戻る