Nativescript + iOS Webview +本地文件 [英] Nativescript + iOS webview + local files

查看:113
本文介绍了Nativescript + iOS Webview +本地文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在使用一个简单的应用程序,该应用程序的HTML部分使用了webview.

I'm currently working in a simple app, which has a HTML section which uses a webview.

内容位于app/www文件夹中,我可以通过HTML中的类似内容从"home.ts"组件访问它们

The contents are in an app/www folder, and I access them from a "home.ts" component with something like this in the HTML

<GridLayout
    class="main-layout"
    columns="*"
    rows="*"
>
    <WebView
        src="~/www/index.html"
        class="web-view"
        col="0"
        id="wv"
        row="0"
    ></WebView>
</GridLayout>

此文件使用一些图像,一些JS和一些CSS.

This file uses a few images, some JS and some CSS.

它在Android上运行良好,但我无法在iOS上运行.哦,它可以在iOS模拟器上正常运行,但不能在实际设备上运行(我目前有一个iOS 9 iPod touch用于测试这些东西).

It works fine on Android, but I can't make it work on iOS. Oh, and it works fine on the iOS emulator, but not in an actual device (I currently have a iOS 9 iPod touch for testing these things).

我在Info.plist上配置了正确的密钥(它可与 https://www.google.com的URL一起使用),我认为我没有做任何奇怪的事情.

I have the correct keys configured on Info.plist (it works with URLs as https://www.google.com), and I think I'm not doing anything weird.

这是我的package.json

This is my package.json

{
  "description": "WebView App",
  "license": "LicenseRef-LICENSE",
  "readme": "README",
  "nativescript": {
    "id": "com.app.name"
  },
  "dependencies": {
    "@angular/animations": "~4.1.0",
    "@angular/common": "~4.1.0",
    "@angular/compiler": "~4.1.0",
    "@angular/core": "~4.1.0",
    "@angular/forms": "~4.1.0",
    "@angular/http": "~4.1.0",
    "@angular/platform-browser": "~4.1.0",
    "@angular/router": "~4.1.0",
    "nativescript-angular": "~3.0.0",
    "nativescript-theme-core": "~1.0.2",
    "reflect-metadata": "~0.1.8",
    "rxjs": "~5.3.0",
    "tns-core-modules": "^3.0.1",
    "zone.js": "~0.8.2"
  },
  "devDependencies": {
    "@angular/compiler-cli": "~4.1.0",
    "babel-traverse": "6.24.1",
    "babel-types": "6.24.1",
    "babylon": "6.17.1",
    "copy-webpack-plugin": "~4.0.1",
    "lazy": "1.0.11",
    "nativescript-css-loader": "~0.26.0",
    "nativescript-dev-typescript": "~0.4.0",
    "raw-loader": "~0.5.1",
    "resolve-url-loader": "~2.0.2",
    "tns-platform-declarations": "^3.0.0-rc.2",
    "typescript": "~2.2.1"
  }
}

推荐答案

这是本地页面的已知错误,无法确定〜在文件系统方面的含义 您需要在代码中更改src并找出〜指的是什么.

It's a known bug for local pages, it's not able to determine what ~ means in terms of filesystem you need to change the src in your code and figure out what ~refers to.

使用:

import * as fs from "tns-core-modules/file-system";
public webViewSRC: string = encodeURI(`${fs.knownFolders.currentApp().path}/www/index.html`); 

看到此问题:

https://github.com/NativeScript/NativeScript/issues/4443

这篇关于Nativescript + iOS Webview +本地文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆