Tôi đang phát triển một ứng dụng javascript/HTML với jquerymobile, tạo yêu cầu ajax cho máy chủ từ xa. Ứng dụng hoạt động tốt trên Chrome (chỉ khởi chạy chrome với bảo mật web bị vô hiệu hóa) nhưng khi tôi nhúng nó vào trong tài sản/thư mục của ứng dụng Android (một lần xem web đơn giản), cuộc gọi ajax từ xa không thành công. Vì vậy, tôi đoán nó có thể là một vấn đề tên miền chéo. Tôi biết rằng phonegap không có vấn đề này nhưng tôi không muốn sử dụng phonegap nếu có thể. Vì vậy, câu hỏi đặt ra là: làm thế nào để vô hiệu hóa bảo vệ tên miền chéo trong ứng dụng webview của Android?Cho phép cuộc gọi ajax từ xa trong Android Webview + jquery mobile
này là mã Hoạt động:
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" />
Và tôi đã thiết lập các thông số miền jquerymobile chéo trong các trang html của tôi:
<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>
Cảm ơn bạn đã trả lời của bạn, tôi đã cung cấp cho ứng dụng này sử dụng-phép nhưng vấn đề vẫn còn hiện diện – sproing