안녕하세요 안드로이드 웹뷰에서 로컬csv파일을 불러드리는데 오류가 발생합니다.
해당 html 파일을 크롬에서 실행하면 아래와 같이 발생하고 파이어폭스에서 하면 발생이 안되는데요..
안드로이드 웹뷰가 크롬기반으로 되어 있는것 같습니다.
로컬파일을 ajax 통신으로 불러드리니깐 생기는 오류인거 같은데 혹시 안드로이드에서도 오류가 없게 하려면 어떻게 행야하나요?
Access to XMLHttpRequest at 'file:///file.csv' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https
웹뷰 호출과 html ajax 로직은 아래와 같습니다.
webView = (WebView) findViewById(R.id.main_webview);
WebSettings settings = webView.getSettings();
//Enable Javascript
settings.setJavaScriptEnabled(true);
//Enable DOM storage, and tell Android where to save the Database
settings.setDatabasePath("/data/data/"+this.getPackageName()+"/databases/");
settings.setDomStorageEnabled(true);
webView.loadUrl("file:///android_asset/index.html");
webView.setWebChromeClient(new WebChromeClient() {
/** Called when the database exceeds it's maximum size **/
@Override
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
//Double the estimated size of the Database
quotaUpdater.updateQuota(estimatedSize * 2);
}
});
<pre>$.ajax({
type: "GET",
url: "file.csv",
dataType: "text",
success: function(data) {processData(data);}
});