ラウンジ(兼FAQ掲示板)

マガジンガーZに付いて
過去ログ NO.1132402936
□ masa [2005年11月19日03時33分]
フレーム内に設置しているのですが、管理モードから入室して登録者[全選択]、あるいは、個別に選択してもエラーが出ます。
フレーム外だと正常に動き(送信できます)ます。
なぜでしょう?
また、フレーム内で利用したいのですが・・・

以上
□ NXer [2005年11月19日21時22分]

>なぜ

すえぽんさんのcgiの特徴をごぞんじでしょうか。NXerです。
それは、cgiとjavascriptの複合(ふくごう・ハイブリッド)な
スクリプトです。
ウェブページは、HTMLのタグで記述しますが、さらにcgiで
書込み、メールの送信などが可能になります。javascriptを
使えば、同じことをウェブブラウザ上ですることができます。

次の構造を持つフレームについてはHTMLでは、下のように管理しています。
ーーーーーーーーーー
|  above    |
|ーーーーーーーー|  
|left |right*  |
ーーーーーーーーーー
*はmagazinegerへのリンクの設置フレーム。

<FRAMESET rows="50%,50%">
<FRAME name="above" src="magindexabove.html">
<FRAMESET cols="50%,50%">
<FRAME name="left" src="magright.html">
<FRAME name="right" src="magindexleft.html">
</FRAMESET>

右下フレームのリンク用文字とリンクです。
<A href="http://127.0.0.1/~user/magazinegerZ/magazine.cgi" target="right">magazineger リンク</A>

フレームの指定は、target属性でその値を、フレーム名rightにしています。
リンクするとここにmagazinegerが表示されます。まだ、html言語の管理下に
あります。

しかし、一旦magazineger.cgiが起動すると、フレーム管理はcgiスクリプトに
渡されます。そして、なぜ、という疑問文の答えはjavascriptのフレーム指定に
隠されています。ある意味では、ある階層で送信者を指定しているために、cgiが、
別の階層で送信しようとしても、未指定になりエラーとなります。

>フレーム外だと
フレーム外とは、全画面状態の初期状態ですから、常にすえぽんさんのcgiは
正しく動作します。これも、フレームの二つの言語・HTMLとjavascriptのフレーム
管理の違いを考えると、よく分かると思います。

>フレーム内で利用

-----------------------jsのparentプロパティの形式
parent.frameオブジェクト名
-----------------------
parentはウェブぺージ全体です。
当方のHP作成ソフトでためしたところ、送信者の指定をしているのに
エラーがでました。そのことから次のすべての
■ parent.list.   を
□ parent.right.list.と変更します。
置換機能で一括変更ができます。

379 function select_all(p) {
380 max = parent.right.list.document.forms[0].to.length;
(中略)
408 function send() {
409 to_val = '';
410 max = parent.right.list.document.forms[0].to.length;
以下略
420

フレームは、ウェブサイトの構築を考えるとフレームでダイナミック
なサイトになり、上のjapascriptで、左右のページの入れ替えとか、
華やかな、クールなサイトに仕上げることができます。

しかし、検索の時にリンク元が分からなくなることから、資料的な
価値が著しく下がります。真に情報を求める人に、ささやかでも、価値
あるページがフレームのために到達できないことは、フレームの致命的
な問題と愚考します。

matazinegerは、幸い、資料提供型のcgiではありませんから、思う存分
にフレームを使いこなしてください(勝手な願望)。

一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.