一つのファイルに、IE専用のフレームタグのiFlameで2つのフレームを埋め込んでいて、一つが操作画面でもう一つが情報画面という風にしています。
この時、操作フレームでリンクをクリックすると、2つ同時に画面が変わるというものを作りたいと思っています。
一つならば、TARGET指定でリンクさせることができるのですが、同時に2つというやり方がわかりません。是非、お力をお貸し下さい。よろしくお願い致します。
//////////////////iFlameが2つ埋め込まれている画面
<HTML>
<HEAD>
<TITLE>●画面全体</TITLE>
</HEAD>
<BODY>
●メイン画面
<iframe src="index_main.html" name="main"></iframe><br><br>
●操作画面
<iframe src="index_control.html" name="control"></iframe>
</BODY>
</HTML>
//////////////////操作ボタンのあるiFlameのページ
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
function Syncro(mPage,cPage){
main.location=mPage;
control.location=cPage;
}
</SCRIPT>
</HEAD>
<BODY>
<A HREF="Javascript:Syncro('main2.html','control2.html')">両方のWINDOWを書き換える</A><BR>
</BODY>
</HTML>
No.1ベストアンサー
- 回答日時:
こんにちわ!
ちょうど参考文献があったので、
>>main.location=mPage;
>>control.location=cPage;
の部分なのですが、
parent.main.location.href=mPage;
parent.control.location.href=cPage;
にしてみてはいかがでしょう?
parent=現在のフレームの親フレームの意味
||
ここをtop(最初に定義されたフレーム)やself(自分自身のフレーム)に設定することも可能だそうです♪
この回答への補足
ありがとうございます。しかし、
残念ながら上手くいきませんでした。スペル違いは無いと思いますが、
parent.main.location=mPage;
parent.control.location=cPage;
も動きません。。なぜでしょう??
No.2
- 回答日時:
操作ボタンのあるiFlameのページの記述を
<SCRIPT language="JavaScript">
function Syncro(mPage,cPage){
parent.frames["main"].location=mPage;
parent.frames["control"].location=cPage;
}
</SCRIPT>
になります。子フレームから指定する場合、こういう風にparent(親)から書いていけばOKです。
また、クリックする場所は始めのものでも大丈夫ですし、
<A HREF="Javascript:Syncro('main2.html','control2.html')">test</a>
こういう書き方もありますね。
この回答への補足
ありがとうございます。
しかしながら、動作しないようです。???
<a href="main2.html" target="main">操作する</a>
では、動作するのでオブジェクトとしては、Windowでしょうか?いずれにしても困っております。
No.3
- 回答日時:
再登場aisです♪
私も試してみました!
で、変数を使う形はやはり失敗してしまって。
(すいません、あいまいなアドバイスになってしまって)
でも直接URL指定してあげたらちゃんと動いてくれましたよ♪
>>function Syncro(mPage,cPage){
function Syncro(){
>>main.location=mPage;
parent.main.location.href="http://www.URL1";
>>control.location=cPage;
parent.control.location.href="http://www.URL2";
>>}
<A HREF="Javascript:Syncro()">両方のWINDOWを書き換える</A>
でどうでしょう??
この回答への補足
一応報告させて下さい。
皆様のお力添えで、上手く動作するようになりました。本番では、name属性でscreenという名前を使っていたために動作しなかったようです。(お馬鹿)
ありがとうございました。
ありがとうございます。
簡単にテストをすれば、変数の方法でも動きました。でも、本番用に埋め込むと動きません。謎な状況に追い込まれています(笑)
No.4
- 回答日時:
フレームの階層概念と、オブジェクト/プロパティをよく理解されれば解決するでしょう。
まず、フレームの階層は次のようになっていることと思います。
画面全体のHTML
├index_main.html
└index_control.html
この時、全体画面HTMLからは、それぞれのフレームに「main」「control」でアクセスできます。
また、それぞれのインラインフレーム内のHTMLから全体画面HTMLは、「parent」でアクセスできます。
(直接の親子関係にあるので、parentの代わりに「top」を指定するのはやめましょう。)
これを組み合わせると、たとえばindex_main.htmlからindex_control.htmlへは、「parent.control」でアクセスできることになります。(逆も然り)
次に「location」についてですが、これは「オブジェクト」であり、URLを表すプロパティではありません。
URLを指定する場合は、「hrefプロパティ」に対して行います。
と言うわけで、関数を次のように直せば動きます。(動作確認済み)
function Syncro(mPage,cPage){
parent.main.location.href = mPage;
parent.control.location.href = cPage;
}
(コピペする際は、全角スペースに注意)
No.5
- 回答日時:
leaz024さん、そうですね。
hrefが正しかったです^^;すみません。ただ、わたしのスクリプトも、IE5、NN4.78で動作確認済みでした。
サーバーにあげても動きます。OSはwin2000です。
ということで、funaさんお手数ですが、動作確認に使われたOSとブラウザのバージョンを教えていただないでしょうか?
気になりますので、よろしくお願いいたします。
ありがとうございます。
ちょうど今、書き込みをしたのですが、私のトラブルの原因は、name属性にふさわしくない語を指定した為動かなくなっていました。
alert(parent.screen.location);
などでundefineなどで値が出なかったので、変更すれば動きました。ちなみにIE5.5、WIN2000を使っていました。
勉強になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指定時間になったら、WEBサイト...
-
フォームが空欄の時にフォーム...
-
スマホ上で、左右スワイプで次...
-
プログラムがうまく動きません...
-
Colorboxがうまく設置できません
-
画面遷移を行わずに同一ページ...
-
初心者です。gulpでコンパイル...
-
console.logがどうしても2つ機...
-
Googleフォームで選択肢に応じ...
-
イラストレーター、縦中横のシ...
-
【GAS】WEBアプリでハイパーリ...
-
特定の文字列を複数抜き出した...
-
sessionStorageを調べています。
-
読み込んだQRコードをフォーム...
-
jsで質問です。 ボタンが二つ存...
-
階層別の組織図の自動作成について
-
コードレビューをお願いします。
-
セレクトボックスで配列を呼び...
-
HTMLタグに複数のクラスを設定...
-
コードレビューをお願いします。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
jsで質問です。 displayプロパ...
-
画面遷移を行わずに同一ページ...
-
Googleフォームで選択肢に応じ...
-
特定の文字列を複数抜き出した...
-
フロントエンドフレームワーク...
-
変数名をどのようにつけるのが...
-
【JS】selectでchangeした時の...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
指定時間になったら、WEBサイト...
-
Colorboxがうまく設置できません
-
二次元配列の中の各行の要素を...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
HTMLで作った時報アプリが動き...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
①入力フォーム→②確認表示画面→③...
おすすめ情報