【问题标题】:How to call setAllowUniversalAccessFromFileURLs from WebSettings in nativescript?如何在 nativescript 中从 WebSettings 调用 setAllowUniversalAccessFromFileURLs?
【发布时间】:2016-06-14 02:41:12
【问题描述】:

在 Android 原生开发中,当我们需要从 webview 请求 javascript 文件时,在某些情况下允许 XMLHttpRequests,一种方法是设置 setAllowUniversalAccessFromFileURLs (true) 在 WebSettings 实例上(API 级别 17+)。 有没有办法在 nativescript 上做到这一点?

显示的错误是:

XMLHttpRequest 无法加载 file:///data/data/.... 跨域 请求仅支持协议方案:http、data、https。", 资源: file:///data/data/com.yourdomain.appname/files/app/app/frameworks/nativescript.framework/app/components/login/

【问题讨论】:

    标签: xmlhttprequest cors nativescript


    【解决方案1】:

    只需快速查看 Android 文档,您就可以获得 web 视图的 WebSettings:https://developer.android.com/reference/android/webkit/WebView.html#getSettings()

    因此,在您的 webview 实例的 loaded 事件中,附加一个事件处理程序,并在该 JS 代码中执行以下操作:

    function webViewLoaded(args) { if (args.object.android) { var webView = args.object.android; webView.getSettings().setAllowUniversalAccessFromFileURLs(true); } }

    【讨论】:

    • 简单说明,帮助谁看到这个问题:javascript文件将驻留在您的磁盘上..\platforms\android\build\intermediates\assets\F0\debug\app\app\frameworks\nativescript.framework\app\components\login\... ...并且应该在您的nativescript组件上引用,该组件包含使用相对路径的Web视图: ../../../../../frameworks/nativescript.framework/app/components/login/my-file.js
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多