Articles of webview

WebView无限扩展 – 如何防止这种情况?

我在我的Android应用程序中使用webview,但是在它完成加载后 – 我可以通过onPageFinished(WebView webview,String url)检测到 – 页面继续无限增长。 我怎样才能防止这种情况发生? 这就是我的工作。 我有一个包含ScrollView的通用页面模板。 宽度和高度设置为与父级匹配。 在ScrollView中,我创建的所有活动都有几个常见元素。 其中一个是LinearLayout,我插入所有用户内容。 ….. …… //EVERY USER CONTENT GOES HERE …… ….. 在此特定情况下,内容是一个网页,使用移动网络API加载Google地图。 这是布局文件 这是我的活动代码,用于初始化webview …. WebView wv =(WebView)this.content.findViewById(R.id.maps); WebSettings ws = wv.getSettings(); ws.setPluginState(PluginState.ON); ws.setSupportZoom(false); ws.setLightTouchEnabled(true); ws.setDomStorageEnabled(true); ws.setAppCacheMaxSize(1024 * 1024 * 8); ws.setAppCachePath(context.getCacheDir().getAbsolutePath()); ws.setAppCacheEnabled(true); ws.setAllowFileAccess(true); ws.setCacheMode(WebSettings.LOAD_NORMAL); ws.setJavaScriptEnabled(true); wv.setInitialScale(0); wv.addJavascriptInterface(new Object(), “Android”); wv.setKeepScreenOn(true); 最后,当我通过wv.loadUrl(“……”)加载地图时; 页面完成加载后,我得到以下日志,webview在无限循环中增长 02-18 […]

RecyclerView内部的Webview有时仅在Nougat设备上显示空白屏幕

在我的Nougat设备中,RecyclerView内的webview有时是空白的。 当我慢慢滚动然后回到webview项目内容消失。 Android N以下的设备没有问题.Android N使用Chrome作为应用的默认浏览器。 所以我认为Chrome中可能存在一个错误,所以我也在Chrome门户网站中提出了一个错误。 在SO中有几个相关的问题,但这并没有解决我的问题。 那么在Android webview设置中有哪种方法可以解决这个问题? 我在bug链接中写了详细说明。 错误链接: 点击这里 我的WebView的onBindViewHolder方法代码是 final VHItem vhItem = (VHItem) holder; vhItem.webViewChild.getSettings().setUseWideViewPort(false); vhItem.webViewChild.getSettings().setJavaScriptEnabled(true); vhItem.webViewChild.loadData(“” + html + “”, “text/html;charset=utf-8”, “utf-8”); 哪里 html是html字符串 更新 他们已经解决了这个问题。 如果您仍然遇到同样的问题,请尝试将Android Chrome版本更新为61或更高版本。

在全屏中使用WebView和RelativeLayout时出现奇怪的行为

编辑:这是显示问题的video: www.youtube.com/watch?v = 5ZZsuMH5T9k我真的被困在这里:/ – 我有一个活动,包括webview和底部的按钮。 我使用onCreate代码将活动窗口设置为全屏: @Override public void onCreate(Bundle savedInstanceState) { InstaFetchApplication.applyCurrentTheme(this); super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); requestWindowFeature(Window.FEATURE_PROGRESS); if (UserPreferences.getIsFullScreenReadingEnabled(this)) { requestWindowFeature(Window.FEATURE_NO_TITLE); // this just do this: window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ActivityUtils.toggleFullScreen(this, true); } setContentView(R.layout.view_article); // … } 问题是, 大多数情况下 ,webview似乎将按钮“推”出屏幕。 这是截图: ( 较大的版本 ) 我希望看到的( 有时我做的)是: ( 较大的版本 ) 这是我正在使用的布局(请注意,在我的应用中,顶部布局必须是RelativeLayout): 我还注意到,如果你使用系统设置关闭设备上的所有animation,问题就会消失(尽管当整个视图有一个上边距然后它跳回到正确的位置时会出现这个故障)。 有没有人遇到类似的问题,知道如何解决它?

WebView for Android <= 4.3中的TLS 1.1,1.2

在我的Android应用程序中,我需要在WebView显示第三方registry单。 不幸的是,我还需要支持Android版本<4.3,当你连接到网站时,你会遇到SSL握手错误。 但是,我能够使用自定义SSL上下文在Android 4.1+上创建直接请求,该上下文已明确启用TLS 1.1,但我无法将此SSL上下文传递到我的WebView 。 我试图制作自定义WebViewClient private WebViewClient webViewClient = new WebViewClient() { @Override public void onPageFinished(WebView webView, String url) { if (presenter != null) { presenter.onLoadFinished(); } } @Override public void onReceivedError(WebView webView, WebResourceRequest request, WebResourceError error) { if (presenter != null) { presenter.onLoadError(); } } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, […]

在Android中呈现格式化文本的推荐方法?

我正在开发一个应用程序,它将提供制作产品的说明。 文本将包含项目符号和/或编号步骤以及常规文本段落。 我可能有各个部分的标题。 该文本将被放置在可滚动的TexView中。 我原本计划从资源文本文件加载文本,然后通过xml应用格式。 但是,我刚刚了解了WebView以及加载本地html文件的能力。 我可以轻松地格式化html中的文本并将其加载到WebView中以进行各种活动。 我的问题是,使用WebView与TextView是否存在性能问题? 有没有其他方法可以轻松格式化TextView的文本? 谢谢,

Android webView:使用input type = text时,默认情况下可以先设置数字键盘

我们有一个使用webview呈现一些HTML页面的应用程序。 这个HTML页面有输入types,我们使用input-type = number,因为我们只接受此字段中带小数的数字。 所以数字android键盘出现小数点。 问题是三星设备更新到Android 4.3。 现在数字键盘上缺少小数点。 因此我们需要使用通用键盘来获得小数点。 问题是公共键盘出现了字母,我们默认希望键盘出现在键盘的数字部分,以使用户更友好。 喜欢这个。 我们怎样才能做到这一点? 编辑:也许我没有解释清楚。 问题是在一个不在android TextView中的HTML页面所以所有的android:type答案都没用。

如何在WebView中禁用软键盘

我需要在我的WebView和WebView中的所有edittexts中禁用打开软键盘(我不能访问因为它在WebView中)。 我尝试在我的清单文件中使用’android:windowSoftInputMode =“stateAlwaysHidden”’,但是当我点击可编辑字段时键盘popup。 什么是在WebView中禁用软键盘的正确解决方案? 编辑: 我发现解决方案(在这篇文章中感谢@ g00dy,在https://stackoverflow.com/a/9108219/1665964后感谢@Kachi)打开后关闭键盘: public class ActivityBrowser extends Activity { private static WebView webviewHTML; private static View viewRootHTML; private static int iViewRootHTMLHeightDifferent; public static Context contextBrowser; { contextBrowser = this; } public class webViewClient extends WebViewClient { @Override public void onPageStarted( WebView view, String url, Bitmap favicon) { if( view == webviewHTML) […]

Android 4.0 ICS Webview“未知铬错误:-324”

我在Android 4.0 ICS中使用WebView编写浏览器。 但是当我访问某个网站时,发生了错误。 我覆盖了WebViewClient中的onReceivedError方法,并打印了logcat。 08-28 09:22:00.549: D/chromium(22081): Unknown chromium error: -324 08-28 09:22:32.658: E/sky-mobi(22081): errorCode:-1 description:A network error occurred。failingUrl:https://172.16.28.5/portal/logon.htm 08-28 09:22:32.705: W/Web Console(22081): The page at “https://172.16.28.5/portal/logon.htm” displayed insecure content from file:///android_asset/webkit/android-weberror.png. 08-28 09:22:32.705: W/Web Console(22081): at null:1 我用Android 2.3.3测试URL,它完全正常。

如何将存储在字节数组中的图像加载到WebView?

大家! 我已将大量图片压缩为“pictures.zip”文件。 我想将这些图片之一加载到WebView,如下所示: WebView wv = (WebView)findViewById(R.id.WebView01); wv.loadDataWithBaseURL(null,””, “text/html”, “UTF-8”, null); 这里,“abc.jpg”是一张已压缩为pictures.zip文件的图片。 我只想解压缩zip文件中的图片并获取图片的字节流,然后从字节流中将图像加载到WebView。 我不想解压缩zip文件中的图片,然后将其保存到SD卡然后加载它。 此外,我不想将pitcture的字节编码为base64,然后将图像加载到WebView,因为这两种方式将非常慢。

Android:Web App在Chrome中运行,但不在Webview中运行

我在我的网络应用程序中使用ng-hide和ng-show来处理根据用户的登录状态显示的内容。 如果我在手机上使用Chrome浏览器并运行该网站,则此function完全正常。 但是,当我尝试在我的应用或默认手机非Chrome浏览器上的网页浏览中显示它时,它不起作用。 没有任何内容被隐藏,并且绑定到angularJSfunction的按钮不起作用。 请注意,我确实设置了setJavaScriptEnabled(true) 。 当我看到这个问题时,我注意到某些AngularJSfunction在某些浏览器(尤其是IE)上不起作用,因此AngularJS可能与默认的Webview不兼容。 那么是否有一种解决方法或某种方式让我使webview模拟Chrome浏览器? 在Chrome浏览器上的应用程序: http ://gyazo.com/8a8a56bdac1eb7e91753bc4745433a42 Webview上的应用程序: http : //gyazo.com/a58de6192aa822af05a2885560e66f91 logcat中存在以下错误,我已经调查过并且没有任何意义,因为这两个variables在非webview环境中都没有问题。 E / Web控制台:未捕获的SyntaxError:意外的标识符:103 E / Web控制台::未捕获错误:无模块:AuthApp:17 未捕获的语法错误对应于下面的内容,其中结果是我从Parse获得的查询结果。 请注意,我已经在其他浏览器中检查了结果的内容,实际上它将结果返回给我的查询。 for (var result of results){ … }