Android将网址加载到以双斜杠“//”开头的网页视图

时间:2015-01-06 06:57:38

标签: android webview

我正在尝试将youtube视频加载到webview中。视频的嵌入链接如下所示:

//www.youtube.com/embed/sLnBwfWvgpU

如果我没有做任何额外的事情,只是尝试加载它,视频就不会出现在网页浏览中。我试着做以下事情:

private class CustomWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        String url_string = url;
        if(url_string.startsWith("//")){
            url_string = url_string.substring(2);
            if(!url_string.contains("http")){
                url_string = "http://" + url_string;
            }
        }
        webview.loadUrl(url_string);
        return true;
    }
}

但这也不起作用。我的网页浏览中除了这个视频之外还有更多内容,如果我这样做,则不会加载任何内容,当前内容也会消失。那么,我该怎么办呢?

由于

1 个答案:

答案 0 :(得分:0)

你应该只设置javascript;

在您的代码中请尝试;

private class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    String url_string = url;
    if(url_string.startsWith("//")){
        url_string = url_string.substring(2);
        if(!url_string.contains("http")){
            url_string = "http://" + url_string;
        }
    }
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(url_string);
    return true;
}
}

在我的代码中;

    setContentView(R.layout.activity_main);
    wb=(WebView)findViewById(R.id.webView1);
    String url_string = "//www.youtube.com/embed/sLnBwfWvgpU";
    if(url_string.startsWith("//")){
        url_string = url_string.substring(2);
        if(!url_string.contains("http")){
            url_string = "http://" + url_string;
        }
    }
    wb.getSettings().setJavaScriptEnabled(true);
    wb.loadUrl(url_string);