Articles of webview

在Android中销毁webview

无法销毁WebView 首先,我已经尝试了很多例子来销毁Android中的webview。 例如: Android中的内存泄漏 虽然我在onDestroy()中销毁webview并以编程方式声明了webview,但内存泄漏问题也会在我的Android设备上发生。 以下是我的编码 public class MainActivity extends Activity { private FrameLayout mWebContainer; private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.your_layout); mWebContainer = (FrameLayout) findViewById(R.id.web_container); mWebView = new WebView(getApplicationContext()); mWebContainer.addView(mWebView); } @Override protected void onDestroy() { super.onDestroy(); mWebContainer.removeAllViews(); mWebView.clearHistory(); mWebView.clearCache(true); mWebView.clearView(); mWebView.destroy(); mWebView = null; } 有人帮助我..谢谢..

在Android Webview中离线加载caching

我有一个应用程序从网站加载url。 现在我希望应用程序在脱机时使用caching。 但我只是得到说,我没有连接到网站的失败页面。 起初,我将Cachemode设置为Load_Normal,但这没有帮助。 接下来,我使用ConnectivityManager尝试了一个“愚蠢”的方法: cm = (ConnectivityManager) this.getSystemService(Activity.CONNECTIVITY_SERVICE); if(cm.getActiveNetworkInfo().isConnected()){ mfnWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); mfnWebView.loadUrl(url); } else{ mfnWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); mfnWebView.loadUrl(url); } 但这只会导致应用程序崩溃。 有一个简单的方法来加载caching时,脱机和现有,只是如果不存在显示失败的消息。

Android WebView不正确地处理预格式化文本中的换行符

如果我把这个HTML推入WebView : webView.loadData("<html><body><pre>line 1\nline 2</pre></body></html>", "text/html", "utf-8"); 它呈现为(在模拟器中,也在设备上) line 1line 2 而不是 line 1 line 2 如我所料。 如果我将这个HTML保存到SD卡并在浏览器中打开文件,它呈现良好。 我想我做错了什么,或者这可能是一个错误。 任何方式,我想以编程方式将带有预格式化的换行符的HTML推送到WebView并渲染换行符。

在android中使用webview将CSS注入到网站

例如,我想将www.google.com的背景颜色更改为red 。 我已经使用webview ,而我的style.css文件是在assest folder 。 我想将这个style.css文件注入www.google.com 。 我的代码有什么问题? 请为我写正确的代码。 谢谢。 我的MainActitviy.java文件: package com.example.mysina; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebView; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webView = new WebView(this); setContentView(webView); String html = "<html><head><style> src: url('file:///android_asset/style.css')</style></head></html>"; webView.loadData(html, "text/html", "utf-8"); webView.loadUrl("https://www.google.com"); } […]

在WebView上禁用自动提示?

我有一些HTML文本input到一个WebView,我需要禁用Android的这些input,而不是从HTML(自动完成=closures)的自动添加。 我怎样才能做到这一点?

Android:拦截来自WebView的AJAX调用

我想要一个HTML/javascript应用程序,在WebView运行,以进行由Java代码处理的AJAX调用。 理想的做法是拦截这个调用(很简单,只需使用shouldOverrideUrlLoading() )并返回一些数据。 但是,我没有find一种方法来“返回”对WebView的响应,而不是使用loadUrl()调用javascript函数。 这对我来说不起作用,因为HTML/javascript应用程序是我不能控制的一个HTML/javascript应用程序。 至于HTML / JavaScript应用程序的问题,它只是做一个AJAX调用并接收一些数据。 对此有何想法?

Android Webview应用程序不会让video播放器全屏显示

您好,我为我的video网站创build了一个webview应用程序。 该网站的devise是一个混合加载移动用户。 只有与移动设备兼容的video才能加载到混合动力车上。 玩家来自VK,dailymotion,youtube,quicktime。 video只能播放sdk 11和更高,但是当我点击播放button去全屏,它只停止播放video,而不会启动到全屏模式。 我尽可能地包含尽可能多的代码,希望有人能帮助我。 我已经把这个search引擎无事化了。 任何帮助将不胜感激。 (Webviewactivity.java) public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); parentView = (RelativeLayout) findViewById(R.id.parent_rl); webviewProgress = (ProgressBar) findViewById(R.id.webview_progress); webview = (WebView) findViewById(R.id.webview); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setBuiltInZoomControls(true); webview.getSettings().setAllowFileAccess(true); webview.setWebViewClient(new MyWebViewClient()); webview.getSettings().setPluginState(WebSettings.PluginState.ON); webview.loadUrl(URL); webviewProgress.setProgress(0); webview.setWebChromeClient(new MyWebChromeClient()); webview.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) […]

错误/ Web控制台:未捕获TypeError:无法在http://m.youtube.com/:844调用null的方法“getItem”

以下错误来自Android(WebView),而不是直接来自我自己的代码: 04-28 12:36:15.174: ERROR/Web Console(7604): Uncaught TypeError: Cannot call method 'getItem' of null at http://m.youtube.com/:844 除了将该URL加载到WebView之外,我真的没有做任何特别的事情。 大多数时候我没有得到这个错误,所以我认为这可能是指向一些不可靠的networking条件? 也许youtube.com太忙了? 这很难说。 无论如何,我想至less有一个想法是什么可能导致这一点,我是否可以捕捉到这个错误,以便我可以更好地处理它。 再次,我自己的代码不知道getItem是什么。 另一方面,当这个问题发生时,我的WebView上的YouTube页面就是空的 。 见解? 编辑:我一直在寻找关于拟议的WebSettings.setDomStorageEnabled(true)文档。 到目前为止我所能find的唯一提示就是在这个线程中 :正如我之前提到的,这个问题很less发生,并且自从我发布我的问题以来没有发生过。 所以我必须先了解一下这个和“DOM存储”之间的关系,然后才能devise一个方法来testing/validation是否解决了这个问题。 另外,我刚刚遇到另一个错误消息(与良性的结果,所以它似乎): 05-02 00:44:45.823: ERROR/Web Console(1595): dojo.back.init() must be called before the DOM has loaded. If using xdomain loading or djConfig.debugAtAllCosts, include dojo.back in a build layer. at […]

如何在Android webview中禁用水平滚动

我想只有在我的webview垂直滚动,不希望任何水平滚动。 webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 这帮助我解决了滚动问题。 但使用这使得我的webview看起来很奇怪。 所有的编辑文本的高度挤压(垂直),看起来不好。 有没有其他方法可以禁用客户端水平滚动? 使用SINGLE_COLUMN如何避免webview高度变化的问题? 我希望垂直的外观与没有SINGLE_COLUMN的情况相同

android webview与客户端证书

我尝试了几天来使用Web应用程序中embedded的客户端证书的web视图,但在我看来,android sdk不提供任何方式来做到这一点,是否有一个callback截获服务器发送的挑战? 有没有办法使用webview与客户端证书,使https请求?