javascript - 安卓网页 View

标签 javascript android webview

引用这个WebView教程,特别是这个方法

private void setupWebView(){
    String MAP_URL = "http://gmaps-samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html";
    String centerURL = "javascript:centerAt(" + mostRecentLocation.getLatitude() + ","+ mostRecentLocation.getLongitude()+ ")";
    webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    //Wait for the page to load then send the location information
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url){
            webView.loadUrl(centerURL);
        }
    });
    webView.loadUrl(MAP_URL);
}

我注意到,如果我将 webView.loadUrl(centerURL); 直接放在 webView.loadUrl(MAP_URL); 像这样

private void setupWebView(){
    String MAP_URL = "http://gmaps-samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html";
    String centerURL = "javascript:centerAt(" + mostRecentLocation.getLatitude() + "," + mostRecentLocation.getLongitude()+ ")";
    webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    //Wait for the page to load then send the location information
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url){
            //DO NOTHING
        }
    });
    webView.loadUrl(MAP_URL);
    webView.loadUrl(centerURL);
}

它不再有效。因此 centreAt(..) javascript 方法包含在 MAP_URL 中。

我想知道 webView.loadUrl(..) 方法是否在实际加载 url 之前返回。 看起来是这样,因为 top 方法在运行 javascript 之前等待它完全加载

最佳答案

是的,webView.loadUrl() 是异步的:它立即返回并且 WebView 继续在它自己的线程中工作。

要监控 WebView 页面加载,请使用 WebViewClient.onPageFinished(..) :

webview.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url) {
        // do something here
    }
});

关于javascript - 安卓网页 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5207540/

相关文章:

Android WebView URL拦截,我只想加载一个网站及其页面,而不是其他任何东西

ios - 无法获得 wkWebView 的正确高度?

javascript - 如何在新标签页中打开一个 div 链接 Javascript onClick="window.location

javascript - 点击后无法正确使用滚动功能

android - 如何从 Google Fit Api 获取最近的高度和体重

android - 在android模拟器中运行应用程序时出错

android - 我可以在主布局之上制作 WebView 元素 "floating"吗?

javascript - 将元素 ID 输出到控制台

javascript - Jquery on Change 函数未在 asp.net MVC 中触发

java - 在 Node.js 中使用 BodyParser 解析 JSON 数组