Zajmuję się tworzeniem aplikacji javascript/HTML z jquerymobile, która wysyła żądania ajax do zdalnego serwera. Aplikacja działa poprawnie w Chrome (tylko uruchamianie chrome z wyłączonymi zabezpieczeniami sieciowymi), ale kiedy ją osadzę w katalogu assets/app aplikacji Android (prosta przeglądarka internetowa), zdalne wywołania ajax nie powiodą się. Tak więc myślę, że może to być problem z wieloma domenami. Jestem świadomy, że phonegap nie ma tego problemu, ale nie chciałbym, jeśli to możliwe, korzystać z phonegapa. Pytanie brzmi: w jaki sposób wyłączyć ochronę w wielu domenach w aplikacji do przeglądania stron internetowych na Androida?Zezwalaj na zdalne wywołania ajaxowe w przeglądarce internetowej Android + jquery mobile
jest to kod aktywny:
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" />
I już ustawić parametry domen jquerymobile krzyżowe w moich stronach HTML:
<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>
Dziękuję za odpowiedź, dałem do wniosku Wykorzystuje-zgody, ale problem jest wciąż obecny – sproing