我正在開發一個javascript/HTML應用程序與jquerymobile,使ajax請求到遠程服務器。該應用程序在Chrome上運行良好(僅在禁用Web安全的情況下啓動Chrome),但是當我將其嵌入到Android應用程序(簡單webview)的assets /目錄中時,遠程Ajax調用失敗。因此我想這可能是一個跨域問題。我知道phonegap沒有這個問題,但我想盡可能不使用phonegap。所以問題是:如何禁用Android webview應用程序中的跨域保護?允許在Android Webview + jQuery的移動遠程AJAX調用
這是活動代碼:
public class Moby extends Activity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_moby);
WebView mbrowser = (WebView) findViewById(R.id.webView1); //get the WebView from the layout XML
if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN)
mbrowser.getSettings().setAllowUniversalAccessFromFileURLs(true);
//mbrowser.setWebChromeClient(new WebChromeClient());
mbrowser.setWebViewClient(new WebViewClient());
mbrowser.loadUrl("file:///android_asset/index.html"); //set the HTML
WebSettings settings = mbrowser.getSettings();
settings.setJavaScriptEnabled(true);
}
}
<uses-permission android:name="android.permission.INTERNET" />
而且我已經在我的html頁面設置jquerymobile跨域參數:
<script src="script/jquery-1.8.2.js"></script>
<script>
$(document).bind("mobileinit", function(){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});
</script>
<script src="script/jquery.mobile-1.2.0.js"></script>
謝謝您的回覆做同樣的,我給了這個使用許可權的申請,但問題仍然存在 – sproing