jQuery Mobile を使用してIBM Worklightプラットフォームで PhoneGap/Cordova アプリを作成しようとしていますが、生成される出力に非常に奇妙な動作が見られます。
アプリのプレビューは、Eclipse とデスクトップ Web ブラウザーでは問題なく表示されますが、デバイスにデプロイすると、以下に示すように、divheader
とcontent
div が画面上部の非常に小さなスペースに押し込まれているように見えます。
なぜこれが起こっているのか本当に途方に暮れています.Worklightフォーラムで尋ねましたが、そこの回答はどれも役に立ちませんでした.jQuery Mobileに固有の問題なのだろうか?
再現する手順:
- 新しいプロジェクトを作成する
- 以下に貼り付けたコードをコピーして
enter.html
- 以下に貼り付けたコードをコピーして
home.html
- css/js ファイルの場所を微調整
- アプリのビルドとデプロイ
- スクリーンショットに示されているのと同じ動作を観察します
私はこれらのバージョンを実行しています:
- IBM Worklight 5.0.1-299-developer-edition
- jQuery 1.7.2 分
- jQuery モバイル 1.1.1
- エクリプス 3.7.2
- デバイス: iPhone 4S、Samsung Galaxy S2 & Galaxy Ace、両方とも 2.3.3 を実行
body 要素と jQuery div 要素の両方が「コンテンツ」の id を使用しようとしている間に競合が発生する可能性はありますか?
enter.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
<title>Enter</title>
<link rel="shortcut icon" href="images/favicon.png" />
<link rel="apple-touch-icon" href="images/apple-touch-icon.png" />
<link rel="stylesheet" href="css/jquery.mobile-1.1.1.min.css" />
</head>
<body onload="WL.Client.init({})" id="content" style="display: none">
<div data-role="page" id="enterPage">
<div data-role="header">
<h1>AppHeaderHere</h1>
</div><!-- /header -->
<div data-role="content">
<h4 id="eventId">body here</h4>
<p>
<a href="home.html" data-role="button">Enter</a>
Some filler text here, this would be the actual body content
</p>
</div><!-- /content -->
<div data-role="footer" data-position="fixed">
<h4>Footer here</h4>
</div>
</div><!-- /page -->
<script src="js/MyApp.js"></script>
<script src="js/messages.js"></script>
<script src="js/auth.js"></script>
<script src="js/jquery/jquery-1.7.2.min.js"></script>
<script src="js/jquery/jquery.mobile-1.1.1.js"></script>
</body>
</html>
home.html
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
<link rel="stylesheet" href="css/jquery.mobile-1.1.1.min.css" />
</head>
<body onload="WL.Client.init({})" id="content" style="display: none">
<div data-role="page" id="homePage">
<div data-role="header">
<h1>Home</h1>
</div><!-- /header -->
<div data-role="content">
<h4 id="eventId">Some header</h4>
<p>
Body content goes here
</p>
</div><!-- /content -->
<div data-role="footer" data-id="foo1" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="home.html" class="ui-btn-active">Home</a></li>
<li><a href="page1.html">page1</a></li>
<li><a href="page2.html">page2</a></li>
<li><a href="page3.html">page3</a></li>
<li><a href="page4.html">page4</a></li>
</ul>
</div>
</div>
</div><!-- /page -->
<script src="js/MyApp.js"></script>
<script src="js/messages.js"></script>
<script src="js/auth.js"></script>
<script src="js/jquery/jquery-1.7.2.min.js"></script>
<script src="js/jquery/jquery.mobile-1.1.1.js"></script>
</body>
</html>