android - 带有 IFRAME android 的 WebView

标签 android iframe webview load

我想加载一个 HTML <IFRAME>WebView 里面, 但我不知道为什么,它不能这样做。

我正在使用以下代码加载 <IFRAME>

webView.loadData("<iframe src=\"http://www.google.com\"></iframe>", "text/html",
                "utf-8");

这是我尝试过的。

WebSettings webViewSettings = webView.getSettings();
webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setPluginsEnabled(true);
webViewSettings.setBuiltInZoomControls(true);
webViewSettings.setPluginState(PluginState.ON);

我已经提到了互联网许可:

<uses-permission android:name="android.permission.INTERNET" />

我也试过设置 WebViewClientshouldOverrideUrlLoading总是返回 false。

但它就是行不通。

我已经在不同的网站上尝试过,即 google.com 以外的网站。

我正在运行 ICS 4.0.3 的三星 Nexus S 上进行测试

最佳答案

试试下面的代码:

webView.setInitialScale(1);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;

Log.e(SimpleBillsConstants.SIMPLE_BILLS, width + "-" + height);

String data_html = "<!DOCTYPE html><html> <head> <meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"target-densitydpi=high-dpi\" /> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> <link rel=\"stylesheet\" media=\"screen and (-webkit-device-pixel-ratio:1.5)\" href=\"hdpi.css\" /></head> <body style=\"background:black;margin:0 0 0 0; padding:0 0 0 0;\"> <iframe style=\"background:black;\" width=' "+width+"' height='"+height+"' src=\""+VIDEO_URL+"\" frameborder=\"0\"></iframe> </body> </html> ";

webView.loadDataWithBaseURL("http://vimeo.com", data_html, "text/html", "UTF-8", null);

关于android - 带有 IFRAME android 的 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955228/

相关文章:

javascript - 如何在 webview (Ionic) 中将手机扬声器设置为默认音频输出

javascript - 跳过了 773 帧!应用程序可能在其主线程上做了太多工作。 [安卓网页浏览]

ios - Swift - WebView HTTP Auth - 最干净的解决方案

javascript - 如何让react-native-calendar-events在Android平台React-Native 60+上运行?

PHP 服务器请求方法

html - 使 Iframe 响应高度

javascript - 在 UIBinder 的 iFrame 中添加 GWT 小部件?

java - 使用 webviewfragment 更改方向时如何保存 webview 的状态

android - 更改 ImageView

android - React native 无法使用 android 模拟器连接到 react-devtools