使用WebView通过iframe打开本地html

时间:2018-10-22 04:43:34

标签: android iframe android-webview appcelerator appcelerator-titanium

我正在使用Appcelerator Titanium开发移动应用程序。当我尝试创建WebView以使用iframe打开本地html文件时,它改为在iframe中打开了html文件。父html被替换。当我在第二个html文件中再包装一个iframe时,仅打开了最里面的html。

该问题仅在Android中发生。它在iOS中不会发生。并且,如果html在互联网上,则它将正确显示。而且只有本地html才有这种行为。

是Android问题还是Appcelerator的错误?可以解决吗?提前致谢。

这是我的示例代码:

app.js

  

var self = Ti.UI.createWindow({});
     var url =“ index.html”;
     var webview = Ti.UI.createWebView({
         url:url,
         宽度:Ti.UI.FILL,
         高度:Ti.UI.FILL
     });
     self.add(webview);

index.html

  

         第1页

     
     

index2.html

  


     第2页
     

iOS和Android中的结果-https://imgur.com/a/XUiFGrI

1 个答案:

答案 0 :(得分:-1)

在资产/文件夹名称中创建一个html文件。您只需将html代码放在FolderName文件夹中,然后使用下面的代码在webview上显示html页面。

String s = "FolderName/htmlFileName.html";
    StringBuilder aboutText = new StringBuilder();
    try
    {
        InputStream is = getAssets().open(s);
        BufferedReader reader = new BufferedReader(
            new InputStreamReader(is));
        String line;

        while ((line = reader.readLine()) != null)
        {

            aboutText.append(line);
        }
    } catch (IOException e)
    {
        Log.e(LOGTAG, "About html loading failed");
    }

    webView.loadData(aboutText.toString(), "text/html", "UTF-8");