今夜がλ

夜だけプログラマー

埋め込みTwitterタイムラインのわがままボディをJavaScriptでコミットする

TwitterのタイムラインをWebページに埋め込んだところ、iOS9で枠からはみ出すというバグが発生した。Twitterのタイムラインは基本的にdata-width属性で幅を指定するのだが、レスポンシブとするために「data-width="100%"」とすると、いくつかのiOS(Mobile Safari)でコンテナーをはみ出してしまうという情報が散見された(原因を調べたが見つけられなかった)。しょうがないのでJavaScript修正処理を加える。

 

onload時にwidthを調整する処理を行ったが、うまくいかなかった。どうやらタイミング的には

「サーバレスポンス → onload → widthの調整 → iframeレンダリング(data-width="100%")」

という流れになっていて、widthにリバウンドが生じてしまう。応急処置としてonload後に時間を待たせてwidthの調整を行うようにしたが軽くどころか大分やばいので、iframeが完全にレンダリングした後に変更するよう調整する必要がある。そのあたりもまとめて後日コードでまとめる。