IT Office Nishimiyahara

個人用スマホから商用プログラミングまでなんでもお任せ下さい

jQueryMobileはiframeと相性が悪い

   

@nqounetです。

jQueryMobile(バージョン1.3.2)を使っている時は、iframeは使わないほうが良いです。

余程の事情がなければ使わないと思いますけれども。

お察しください

iframeを使ってコンテンツ(記事)を読み込んでいたところ、読み込んだ時にその部分にジャンプしていきました。

15記事ほどあった時には、読み込まれるたびにスクロールが発生し、しばらく操作していられないような状況になっていました。

ページ遷移と、ページ表示後の処理をloadイベントでハンドリングしていたので、おそらくそのどれかが原因だろうと探っていたのですが、絞り込んでいった結果、なんとjQueryMobileが犯人でした。

DOMContentLoadedイベント(jQueryでいうと大体document.ready状態)が発生すると$.mobile.changePage()にあるtransitionPagesが呼び出されていました。

そのせいで、iframeがロードされると、勝手にスクロールしていくのでした。

最初から作っていたのなら…

既存のコンテンツをjQueryMobileへ移植するのは、元のコンテンツ(アプリとかですが)の状態にもよりますが、結構難しいですね。

今回のようにiframeでのハマりポイントもありますし、せっかくの利点であるAJAXやpushStateを活かすのが難しい。

誰かが言っていました。(直接聞いたわけではありません)

新しい酒は新しい革袋に盛れ、と。

今どきの新しいフロントエンド(スマートフォン向けとか)のフレームワークを使うのであれば、それに応じたバックエンドを用意したほうが良さそうですね。

実践 jQuery Mobile
実践 jQuery Mobile
posted with amazlet at 14.05.14
Maximiliano Firtman
オライリージャパン
売り上げランキング: 568,924
jQuery Mobile
jQuery Mobile
posted with amazlet at 14.05.14
Jon Reid
オライリージャパン
売り上げランキング: 392,875

respo

respo link

ZenBackWidget

 - 情報技術について , , ,