如何在 nativescript 中从 WebSettings 调用 setAllowUniversalAccessFromFileURLs?
How to call setAllowUniversalAccessFromFileURLs from WebSettings in nativescript?
在 Android 原生开发中,允许 XMLHttpRequests 在某些情况下我们需要从 webviewjavascript 请求文件,一种方法是在 WebSettings 实例上设置 setAllowUniversalAccessFromFileURLs(true)(在 API 级别 17+ 上)。
有没有办法在 nativescript 上做到这一点?
显示的错误是:
XMLHttpRequest cannot load file:///data/data/.... Cross origin
requests are only supported for protocol schemes: http, data, https.",
source:
file:///data/data/com.yourdomain.appname/files/app/app/frameworks/nativescript.framework/app/components/login/
只需快速查看 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);
}
}
在 Android 原生开发中,允许 XMLHttpRequests 在某些情况下我们需要从 webviewjavascript 请求文件,一种方法是在 WebSettings 实例上设置 setAllowUniversalAccessFromFileURLs(true)(在 API 级别 17+ 上)。 有没有办法在 nativescript 上做到这一点?
显示的错误是:
XMLHttpRequest cannot load file:///data/data/.... Cross origin requests are only supported for protocol schemes: http, data, https.", source: file:///data/data/com.yourdomain.appname/files/app/app/frameworks/nativescript.framework/app/components/login/
只需快速查看 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);
}
}