java - Android如何在android iframe webview中传递url?
问题描述
Android如何在android中传递url iframe
webview
?我正在尝试从服务器动态传递 url 所以我该怎么做
if(ResponseProduct.video!=null) {
String html = "<iframe width=\"450\" height=\"260\" src=\""+ResponseProduct.video+"\" ></iframe>";
WebView webView = (WebView) view.findViewById(R.id.video);
webView.setVisibility(View.VISIBLE);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setSupportMultipleWindows(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setHorizontalScrollBarEnabled(false);
webView.loadData(html, "text/html; video/mpeg", "UTF-8");
}
解决方案
您需要将String
url 路径放在src
如下位置:
String videoPath="http://api.thingspeak.com/channels/31592/charts/1?width=450&height=260&results=60&dynamic=true\\";
String html = "<iframe width=\"450\" height=\"260\" style=\"border: 1px solid #cccccc;\" src=\""+videoPath+" ></iframe>";
如果 videoUrl 为 null 或无效,则您的页面未加载,那么您需要隐藏 webView
这是代码:
private boolean isValidUrl(String url) {
Pattern p = Patterns.WEB_URL;
Matcher m = p.matcher(url.toLowerCase());
if(m.matches())
return true;
else
return false;
}
然后将其加载到webView
webview.getSettings().setJavaScriptEnabled(true);
if(videoPath!=null && isValidUrl(videoPath)
{
mWebView.setVisibility(View.VISIBLE);
webview.loadData(html, "text/html", null);
}
else
webview.setVisibility(View.GONE);
推荐阅读
- python - Dask Dataframe 描述在分位数上返回 NaN 值的方法
- powershell - 在 Powershell 中找不到接受参数 ERROR 的位置参数
- typescript - WebStorm - 在 TypeScript 3 中找不到内置 js 类的名称
- jsp - 如何在同一页面中获取错误登录消息
- java - 启动方法异常,MainController ClassNotFound
- angular - Angular RXJS 无需订阅即可获取数据
- ios - 如何使文本换行?
- facebook - firebase facebook 身份验证失败
- java - 使用字符串的 ArrayList 创建 javafx 图像
- powerbi - 如何使用 DAX 中的过滤器计算组平均值?