前提・実現したいこと
FacebookforDevelopersで提供されているコードで表示させているタイムラインの幅を
width:100%の設定にしたいです。
タイムラインウィジェットはiframeでできています。
設定画面で固定幅を指定できますが、何も指定しないと一律で幅340pxの設定になるようです。
iframeタグはcssで設定を上掛けますが、内部に固定値が適用されており上手くできません。
該当のソースコード
HTML
1<iframe id="fb_frame" src="https://www.facebook.com/plugins/page.php?href=xxxxx&tabs=timeline&small_header=false&adapt_container_width=true&hide_cover=false&show_facepile=false&appId" width="100%" height="500" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share"></iframe> 2 3<html lang="ja" id="facebook" class="svg "> 4 <head>…省略…</head> 5 <body dir="ltr" class="plugin chrome webkit win x1 Locale_ja_JP"> 6 <div class="_li"> 7 <div> 8 <div id="u_0_0_iC"> 9 <div class=""> 10 <div class="_2p3a" style="min-width: 180px; width: 340px;"> 11 …省略… 12 </body> 13</html>
JavaScript
1var iframeElem = document.getElementById('fb_frame'); 2var iframeDocument = iframeElem.contentWindow.document; 3var pElem = iframeDocument.querySelector('._2p3a');
試したこと
開発者ツールで確認したところ、クラス名"_2p3a"の要素に指定されているwidthの値を変更すれば実現したい挙動になりました。
目当ての要素を取得しようとしてもnullと出てしましました。
ドキュメントオブジェクトの取得まではできていると思われますが、ここからどうしたらよいか分かりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。