- ベストアンサー
フレーム越しの背景色変換
同一ページ内の背景色変換のスクリプトはたくさん見かけるのですが、Aフレームに背景色一覧(文字クリック)で、Bフレームの背景色を変換するJavaScriptが見つかりません。 どなたか、ぜひぜひ教えてください。ここ数日、ずーっと探し回ったのですが見つけられませんでした。泣。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フレームBには何も記述する必要はありません。 まず、フレームAに素材集等から引用したスクリプトを組み込み、フレームAの背景色が正しく変更されることを確認します。 (ここまでの手順は各素材集の作者様のページで調べてください) それができたら、フレームAのHTMLに含まれるdocument.bgColorという記述を、全てtop.frame_b.document.bgColorという文字列に置き換えます。 (全て半角文字です。大文字と小文字は区別されます) (「frame_b」の部分は自分がNAME=で指定した名前に置き換えてください) そうすれば、フレームBの背景色変更のできるページになります。 例: #1のフレーム構成の場合に、フレームAに <INPUT type="button" value="背景色変更" onclick='top.frame_b.document.bgColor="blue";'> と書くと、「押すとBの背景が青くなるボタン」ができます。
その他の回答 (1)
- zzzzzz
- ベストアンサー率61% (70/113)
Bフレームのドキュメントオブジェクトを対象にすればよいので、 元々document.bgColorのように書いてある部分を、全て top.frameB.document.bgColor という記述に変更してください。frameBにはname=で指定した名前が入ります。 例: <FRAMESET> <FRAME name="frame_a" src="..."> <FRAME name="frame_b" src="..."> </FRAMESET> と定義されており、frame_aの中からframe_bの背景色を青にする場合、 top.frame_b.document.bgColor = "blue"; とします。
補足
ごめんなさい。JavaScriptに関しては、全くの初心者なので、具体的に『フレームA』と『フレームB』への必須記述タグを教えていただけるとありがたいです。 どうぞよろしくおねがいします。
お礼
ありがとうございました!やっと使えるようになりました。 ちなみに「top.frame_b.document.bgColor='000000'」では無理で、「parent.frame_b.document.bgColor='000000'」にして動作確認できました。