Articles of webview

在返回WebView之前,WebView下载打开浏览器窗口一会儿

我的问题是,当我点击Web浏览器中的PDF链接,浏览器打开一会儿(我想下载链接的文件),PDF文件开始下载,应用程序返回到Web视图。 有没有办法阻止浏览器窗口打开,开始下载? 我已经使用WebViewClient shouldOverrideUrlLoading,以便单击的url保存在webview中: private class LinkWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } 我有一个下载监听器,所以我可以下载文件(为我的需要这些是PDF的): webView.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); startActivity(intent); } });

Android Webview(Phonegap):禁用自动更正,Autocapitalize和自动完成不起作用

我有一个问题,我的login页面加载在Android上的Webview(Phonegap)。 我使用属性autocorrect="off" autocomplete="off" autocapitalize="off"为我的input字段和表单标签,但它不起作用。 当我input一个字母或数字时,设备会显示相似的单词和内容。 有谁有一个想法,我可以解决这个问题? 干杯

Android软键盘在全屏幕时隐藏CordovaWebView的input

我有一个CordovaWebView呈现一些HTML表单。 当我专注于一个input字段时,Android的软键盘popup,对于某些字段,根据它们的位置,它会被放在上面。 基本上,它不调整CordovaWebView的布局。 无论我做什么,我都无法改变这一点,据说它与CordovaWebView处于全屏模式的事实有关。 我怎样才能解决这个问题? PS:是不是,一个错误? 谢谢你们!

查看太大,以适应WebView内滚动视图的绘图caching

我正在研究一个包含webview的scrollview,它在2.3,4.1上工作的很好,但是当我在4.4模拟器上试试它时,它显示 View too large to fit into drawing cache, needs 5744640 bytes, only 3932160 available webview只是空白。 这是布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:overScrollMode="never" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="5dp" > <TextView android:id="@+id/newsTitle" android:textSize="18sp" android:textStyle="bold" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/last_update" /> <WebView android:id="@+id/newsContent" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/last_update" /> <TextView android:id="@+id/newsDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/last_update" /> </LinearLayout> </ScrollView> […]

Android WebView不尊重缩放比例

我有一个WebView ,我正在尝试在加载页面时将比例缩放到一定百分比。 该软件的iPhone版本使用HTML元标记: <meta name="viewport" content="width=320, initial-scale=0.95, maximum-scale=2.0, user-scalable=1"> 由于Android的WebView似乎不尊重这个标签,我使用setInitialScale()对百分比进行了硬编码。 但是,WebView只是无视此方法调用。 不pipe我input的数字是100%。 想法? 更新:它不工作在模拟器,我的Droid(摩托罗拉),或我的G1(macros达电)。

在Android WebView中读取键盘事件

我想在android web视图中听重要事件。 用户填写表单时的示例,我应该收到关键事件。 这是我的WebView代码 public class MyWebView extends WebView implements OnKeyListener { ….. @Override public boolean onKeyDown(int keyCode, KeyEvent event) { Log.i("PcWebView", "onKeyDown keyCode=" + keyCode); return super.onKeyDown(keyCode, event); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { Log.i("PcWebView", "onKeyUp keyCode=" + keyCode); return super.onKeyUp(keyCode, event); } @Override // Listener is initialized in the constructor […]

WebView不填充设备或模拟器的整个屏幕

我正在开发一个Android应用程序,启动时加载一个Web应用程序。 为了达到我使用webview控件的目的。 我希望我的webview能够全屏显示,这样才能给用户以本地的感觉。 我尝试了所有的方法来显示webthview全屏,但没有任何工作。 我不知道我错过了什么。 我需要帮助。 下面我张贴代码片段,我也试过附加的截图,显示了如何在模拟器和移动设备上显示webview。 方法1:用简单的基本代码尝试 webbrowser.setWebViewClient(new MyWebViewClient()); webbrowser.getSettings().setJavaScriptEnabled(true); webbrowser.loadUrl("http://google.com"); private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } 方法2:在清单文件中尝试将主题设置为全屏 <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 方法3:尝试使用代码 //Full screen requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 方法4:试用ChromeClient mWebView.setWebChromeClient(new MyWebChromeClient()); mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); mWebView.loadUrl("http://google.com/"); 方法5:试图在main.xml中定义没有布局的webview <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview_compontent" […]

webview.loadUrl(“about:blank”)问题

在我的应用程序中,我有一个web视图,最初我加载任何网站,说www.google.com。 稍后点击一个button,我想清除这个webview,为此我做 webview.loadUrl("about:blank"); 但这样做并不能清除我的webview,它继续显示google.com 我试图重新初始化为webview webview = new WebView(this); webview.loadUrl("about:blank"); 我也试过了 webview.clearHistory(); webview.loadUrl("about:blank"); 但是我得到了同样的结果,webview显示google.com 我怎样才能清除webview? 请build议。 谢谢。 编辑: 另一方面,如果我这样加载google.com之前 webview.loadUrl("about:blank"); 它加载一个空白的网页。

在WebView中注入Javascript桥梁

我想从Android的网页中抽取一些东西。 我知道有图书馆来parsingHTML,但我想也许我可以做一点点的欺骗。 这是我正在做的事情 使用应用程序上下文以编程方式创buildWebView,因此不必在UI中显示。 加载网页 附加JS界面 注入一些Javascript与主机应用程序进行交互 这是一些代码… public void getLatestVersion(){ Log.e("Testing", "getLatestVersion called…"); WebView webview = new WebView(context.getApplicationContext()); webview.loadUrl("https://example.com"); webview.addJavascriptInterface(new jsInterface(), "Droid"); webview.loadUrl("javascript: window.onload=function(){ Droid.showToast('testing!'); }"); } class jsInterface{ @JavascriptInterface public void showToast(String message){ Log.e("Testing", message); Toast.makeText(context, message, Toast.LENGTH_LONG).show(); } } 由于WebView在用户界面中不可见,因此很难判断哪个部分已经损坏。 我所知道的是调用的第一个Log被调用,但JavascriptInterface中的Log和Toast从不显示。 我试图做甚至可能吗? 如果是这样,我做错了什么? 如果没有,为什么不呢? 编辑 在用户界面中停留testing视图,显然第二次调用loadUrl不起作用。 无论我尝试注入什么Javascript,它都不起作用。 编辑2 我觉得愚蠢的忘记启用Javascript,但它仍然不工作..我已经添加了以下几行.. WebSettings webSettings = […]

是否有类似于file:/// android_asset /的path指向apps目录?

我正在使用WebView打开保存到应用程序的一些文件。 有没有办法链接到应用程序的目录,其中在运行时保存的文件将以类似的方式file:/// android_asset /? 通过链接我的意思是loadUrl( *path* ) ,也在打开的文件的HTML标记<img src="*path*" /> 反对使用像file:/// data / data / PACKAGENAME / files /