如何在nativescript应用程序中呈现html网站?

时间:2015-05-14 08:52:24

标签: html5 mobile nativescript

如何将html和/或非本地网站呈现为nativescript应用?我无法找到启动或操纵浏览器实例的方法。

2 个答案:

答案 0 :(得分:4)

documentation会对你有所帮助,但这里有两个例子:

网址示例

此示例将创建一个包含WebView的新页面,然后导航到该页面。网址可以是本地(手机上的html文件)或远程(http://..。)

var frameModule = require('ui/frame');
var pageModule = require('ui/page');
var webViewModule = require("ui/web-view");

var factoryFunc = function () {
    var webView = new webViewModule.WebView();
    webView.url = 'http://www.example.com';
    var page = new pageModule.Page();
    page.content = webView;
    return page;
};

frameModule.topmost().navigate(factoryFunc);

将本地数据加载到WebView

的示例

您有一个视图(.xml)及其对应的.js文件的位置示例,并在其中为您提供包含要显示的html的字符串。

.xml的位置:

<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="loaded">
    <WebView id="myWebView" />
</Page>

.js

exports.loaded = function(args) {
    var page = args.object;
    var webView = page.getViewById('myWebView');
    var application = require('application');
    var html = '<html><body><h1>I can haz webview?</h1></body><html>';

    if (application.ios) {
        webView.ios.loadHTMLStringBaseURL(html, null);
    } else if (application.android) {
        webview.android.loadData(html, 'text/html', null);
    }
};

答案 1 :(得分:1)

在即将发布的版本中,您可以像这样指定HTML:

<Page>
    <WebView src="<html><body><h1>I can haz webview?</h1></body><html>" />
</Page>

Src属性也适用于URL和本地文件路径。