尝试创建一个具有webview的非常基本的应用程序。 webview将加载一个网页,该网页使用一些javascript来进行Ajax调用并每隔几秒更新一次。
我的Android应用程序运行正常,我可以加载我的页面,它可以在2.3.3之后的任何Android版本上按预期工作。在2.3.3页面加载,基本的javascript似乎工作,但它不会从Ajax调用加载数据。我可以直接在2.3.3的浏览器中打开这个页面,并且可以通过更新Web浏览器的Ajax调用来加载它。
我注意到这是在API 11中添加的,它看起来像我需要的,但由于它在11之前不存在,有什么可以帮助吗?因为它在股票浏览器中工作,我认为它应该在webview中工作吗?
public void setAllowContentAccess(boolean allow)自:API Level 11 在WebView中启用或禁用内容URL访问。内容网址 访问允许WebView从内容提供商加载内容 安装在系统中。默认设置已启用。
让我知道,谢谢
这是我正在使用的代码,url存储在系统首选项中。
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUserAgentString(preferences.getString("deviceID", null));
myWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
myWebView.clearCache(true);
String defaultURL = preferences.getString("url1", null);
myWebView.loadUrl(defaultURL);
乙
答案 0 :(得分:1)
您是否在网页视图中启用了javascript?
myWebView.getSettings().setJavaScriptEnabled(true);
答案 1 :(得分:1)
addJavascriptInterface
已破解,请参阅此帖:http://code.google.com/p/android/issues/detail?id=12987
以下是快捷方式来修复它:http://quitenoteworthy.blogspot.com/2010/12/handling-android-23-webviews-broken.html