Android 网络视图和 HTML5 Canvas
Android WebView and HTML5 Canvas
我有一个带有 canvas 组件的简单 HTML 文件,当我将它加载到 Android 网络浏览器时,它显示了所有内容,但是当我尝试从我的应用程序在 WebView 中,没有显示任何内容。
我试图从本地网络服务器加载相同的文件,但没有成功。我做错了什么?
这里是代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebView = new WebView(this);
setContentView(mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
@Override
protected void onResume() {
super.onResume();
mWebView.loadUrl("http://10.0.10.92:8000");
}
如果网页包含 "normal" HTML,一切正常。这似乎是 canvas 元素的问题。
您似乎没有为网络视图启用 javascript。
myWebView.getSettings().setJavaScriptEnabled(true);
使用 WebChromeClient 并在您的网络视图中启用 JavaScript
myWebView.setWebChromeClient(chromeClient);
myWebView.getSettings().setJavaScriptEnabled(true);
我有一个带有 canvas 组件的简单 HTML 文件,当我将它加载到 Android 网络浏览器时,它显示了所有内容,但是当我尝试从我的应用程序在 WebView 中,没有显示任何内容。
我试图从本地网络服务器加载相同的文件,但没有成功。我做错了什么?
这里是代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebView = new WebView(this);
setContentView(mWebView);
mWebView.setWebChromeClient(new WebChromeClient());
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
@Override
protected void onResume() {
super.onResume();
mWebView.loadUrl("http://10.0.10.92:8000");
}
如果网页包含 "normal" HTML,一切正常。这似乎是 canvas 元素的问题。
您似乎没有为网络视图启用 javascript。
myWebView.getSettings().setJavaScriptEnabled(true);
使用 WebChromeClient 并在您的网络视图中启用 JavaScript
myWebView.setWebChromeClient(chromeClient);
myWebView.getSettings().setJavaScriptEnabled(true);