Appcelerator的:网页视图在iPhone上用的iFrame和宽度(Appcelerator

2019-11-01 04:05发布

晚上好,

我一直有与内部有一个网页介面视图的一些问题。 web视图被插入与外部源(在另一个域的HTML)的iframe中。 我使用的iframe,因为我需要使用外部HTML,我需要与我的应用程序点击/触摸事件进行沟通。

主要的问题是,Webview是将不需要的水平滚动条(因为iframe中的内容太大)

代码如下:

网页流量:

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上运行。
  • 如果我使用外部HTML作为URL的网页视图,它也能工作。 因此,它不与外部内容的问题,而是与当地的HTML或web视图和iframe中。

任何想法?

Answer 1:

也许在本地HTML文件,你可以把滚动关闭的iframe。 http://www.w3schools.com/tags/att_iframe_scrolling.asp

例如:

<html>
<head>
</head>
<body>
<iframe src="http://www.yahoo.com.au" scrolling="no"></iframe>
</body>


Answer 2:

我也遇到了同样的问题 ,实际上管理,以找到一个解决方案

我不知道为什么会这样摆在首位,但如果你想在iframe的实际容器宽度使用CSS来代替:

    iframe {
        min-width: 100%; 
        width: 100px;
        *width: 100%;
    }


Answer 3:

我结束了使用上的外部文件中的媒体查询和工作得很好。



Answer 4:

它是在这里找到答案: iframe的大小与iOS上的CSS

只需换你的iframe中有一个div:

overflow: auto;
-webkit-overflow-scrolling:touch;

http://jsfiddle.net/R3PKB/7/



文章来源: Appcelerator: Webview on iPhone with an iFrame and width