加载在WebView中使用Javascript的HTML文件
我试图打开一个.html页面,该页面使用javascript在WebView
中。 为了说明问题,我试图用1000°-ePaper打开演示电子书。加载在WebView中使用Javascript的HTML文件
我将演示文件夹复制到我的资产文件夹中,因此有一个名为“mobile.html”的文件。这个HTML文件使用了一些javascript和.css。它似乎首先尝试打开“mobile.html#/ page/0”。
当我加载WebView时,它说:“请激活Javascript”。
我的代码:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.loadUrl("file:///android_asset/Prospect/test/mobile.html");
所以它应该工作,对不对?令人困惑的是我可以加载的mobile.html,当我把所有的东西在线一个使用defaultBrowser。
public class ViewWeb extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView mWebView;
mWebView = (WebView) findViewById(R.id.webView1);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setSavePassword(false);
mWebView.getSettings().setSaveFormData(false);
mWebView.loadUrl("file:///android_asset/myfile.html");
mWebView.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
//show the web page in webview but not in web browser
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl (url);
return true; } }
mWebView.loadData("", "text/html", "utf-8");
}
}
}
我试过了,并在这里复制了HTML文件的文本:mWebView.loadData(“这里我复制了mobile.html的文本”,“text/html”,“utf-8”); 是你的想法吗?不幸的是,它只是显示明确的HTML文本,并忽略了链接在单独文件中的CSS/JavaScript代码,所以我没有嵌入代码 – 10ff 2011-12-19 10:56:06
在您的情况下,“myfile.html”只是一个帮助文件来打开webClient? – 10ff 2011-12-19 11:54:41
你有没有尝试把一些东西(JS,CSS)内联只是为了看看它是否工作?也许有一个链接问题? – 2011-12-19 12:22:18
想知道是从WebView类的“请激活JavaScript”消息还是从HTML/JavaScript?我之前没有见过它,并且我已经使用过几次嵌入式HTML和JavaScript。一般来说,它只适用于WebView.getSettings()。setJavaScriptEnabled(true);所以我可以想象它只是在某个地方出错了。即使你没有使用它们,我认为它也有助于抛出客户端,例如WebView.setWebChromeClient(new WebChromeClient()); – 2011-12-19 10:25:02
这是来自HTML/JavaScript的消息。好的,很高兴听到它应该是小事。 – 10ff 2011-12-19 10:28:08