• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:親ページ側からインラインフレーム内の文字の大きさを変更)

親ページのインラインフレーム内の文字を変更する方法

このQ&Aのポイント
  • 親ページに文字サイズ変更ボタンを設置し、クリックすると親ページとインラインフレーム内の文字サイズを同時に変更できます。
  • 現在はprototype.jsを使用していますが、インラインフレーム内の文字の大きさを変更できません。
  • 何度も試してみましたが、解決できません。方法が分かる方、助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

#2です。 必要に応じて文字サイズの変更をしたい要素にElement.setStyleをやっていけば大丈夫じゃないでしょうか? 親HTMLのbodyのfont-sizeを変えるなら Element.setStyle(document.body, { "font-size" : obj.id.substring(5) });

yahmada_31
質問者

お礼

できました! 素早いお返事で大変助かりました。 丁寧に教えて頂き、ありがとうございました!

その他の回答 (2)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

iframeはオブジェクトですが、その内側はまた別のdocumentになりますので、 $('stopnlisten')では操作できないと思います。 iframe内のオブジェクトにアクセスする手段はIEとそれ以外で違うのですが prototype.jsでこのあたりのブラウザの違いを吸収してくれているかどうかはわかりません。 ってわけで、とりあえずIEとFirefoxでだけ確認したサンプルです。 (一部、関係ない部分も好みで修正してます。) <html> <head> <title></title> </head> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function setFont(obj){ Element.setStyle( ($('stopnlisten').contentWindow)? $('stopnlisten').contentWindow.document.body: $('stopnlisten').document.body, { "font-size" : obj.id.substring(5) }); } </script> <body> <ul id="font-setting"> <li><button onclick="setFont(this);" id="font-x-large">大</button></li> <li><button onclick="setFont(this);" id="font-medium">中</button></li> <li><button onclick="setFont(this);" id="font-x-small">小</button></li> <p><iframe src="~" id="stopnlisten"></iframe></p> </body> </html>

yahmada_31
質問者

お礼

早速のお返事ありがとうございます! 試してみた所、確かに子HTML(インラインフレーム内)の フォントサイズは変更できたのですが、親HTML内のフォントサイズ は変更できませんでした。 質問の仕方が不十分だったかもしれません。 親HTML内に配置した文字サイズ変更ボタンを一度クリックすると 親HTML、子HTML双方のフォントサイズを同時に変更できるように したいと考えています。 可能なのでしょうか?

回答No.1

試したことあるんですがiframeの内側のHTMLにアクセスする手段がないですね。

yahmada_31
質問者

お礼

お返事ありがとうございます。 なかなかないですよね・・・ トライアンドエラーの連続です。 どうしても実現したい機能なので、 もう少し頑張ってみます! ありがとうございました!

関連するQ&A

専門家に質問してみよう