こんばんは、
内部にWebビューがあるビューで問題が発生しています。Webビューは、外部ソース(別のドメインのhtml)を使用してiframeを挿入しています。外部HTMLを使用する必要があり、アプリケーションでクリック/タッチイベントと通信する必要があるため、iframeを使用しています。
主な問題は、Webビューが不要な水平スクロールバーを挿入していることです(iframeコンテンツが大きすぎるため)
コードは次のようになります。
Webview:
var webview = Titanium.UI.createWebView({
url: "/html/local.html",
width:Ti.UI.SIZE,
height:Ti.UI.SIZE,
contentWidth:Ti.UI.SIZE,
contentHeight:Ti.UI.SIZE,
disableBounce:true,
enableZoomControls: false
});
self.add(webview);
iframe:
<html>
<head>
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
<meta http-equiv="cleartype" content="on">
<script>
function init () {
window.theIframe.TiAPI = Ti.API;
window.theIframe.TiApp = Ti.App;
}
</script>
<style>
body {width:100%;margin:0;padding:0;background-color:#ccffff;}
</style>
</head>
<body>
<iframe name="theIframe" src="http://external.com/something.html" width="100%" height="100%" frameborder="0" onload="init()">
</iframe>
</body>
</html>
注意事項:
- これはポートレートでのみ発生します。iPadまたは横向きのiPhoneで正常に動作します。
- 外部HTMLで、本文の最大幅を320pxに設定すると、完全に機能します。ランドスケープとiPadで動作するために必要なので、この方法では作成しません。
- WebビューのURLとして外部HTMLを使用すると、それも機能します。したがって、これは外部コンテンツの問題ではなく、ローカルhtmlまたはWebビューとiframeの問題です。
何か考えはありますか?