Articles of android webview

设置WebView以查看桌面站点和非移动站点

我已经完成了很多关于Stack Overflow和大量Google研究的研究,但我找不到任何实际工作对我来说。 我希望该网站能够查看桌面网站而不是移动网站。 我该怎么做呢? 我希望它直接转到桌面站点。 WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl(“http://www.apotter96.webs.com/”); }

如何处理“无限”网页?

很久以前,生活很简单:所有网页的长度都是有限的,如果它们不适合当前的窗口/视图大小,你只需向下滚动直到到达页面底部。 但我最近注意到网页设计领域出现了一个新趋势: 无底网页。 可能最熟悉的利用这些页面的网站的例子是Facebook和Twitter:你滚动到“底部”,只是触发一些刷新,为页面添加内容,所以“旧底部”不再是底部,而是有一个新的“底部”。 在Android WebView中,我需要能够捕获该“页面”上当前可用的所有内容,但我不确定如何处理此问题: 通过View.scrollBy(int x,int y) , pageDown()或window.scrollTo()模拟用户的向下滚动? 或者是否有一种API方法可以自动执行此操作? 或者我接近这个完全错误,我不应该试图在一次捕获中find“真正的底部”(如果可能的话)? 编辑 :似乎标记这个问题javascript传达了相反的消息。 我有兴趣使用Java在Android的WebView上捕获(然后处理)这样的无底页面。

在webview内容被JavaScript修改后,Android WebView不会刷新

我的应用程序使用具有透明背景的WebView ,其中元素的某些样式属性由JavaScript修改。 问题:根据修改的属性不刷新WebView 。 重绘WebView (例如,由于用户方向更改), WebView会正确更新。 我在Android 3.2上重现了这个问题(在三星GT上)但在Android 2.1和4.3上都运行良好。 重现问题的示例代码: 显然,当点击第一个图像时它应该消失,然后点击第二个图像应该移动它。 如果WebView的背景颜色更改为不透明,或者如果我删除WebView下面显示的图像,则一切正常…… Web视图加载的HTML。 : 布局文件: 应用Activity : public class TestImageMoveActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); RelativeLayout webviewContainer = (RelativeLayout)findViewById(R.id.WebviewContainer); WebView web = new WebView(this); web.getSettings().setJavaScriptEnabled(true); web.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); web.setLayoutParams( new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); web.setBackgroundColor(Color.TRANSPARENT); webviewContainer.addView(web); web.loadUrl(“http://192.168.1.12/myWeb/localTmp/testImageMove.html”); } } 点按前的屏幕截图: 点击前屏幕截图 点击两个图像后进行屏幕截图

如何在Webview中向下滚动时隐藏ActionBar /工具栏

在谷歌C​​hrome和Play商店。 应用程序可以在滚动时隐藏操作栏,并允许用户方便地浏览。 请帮我这样做。 我使用onTouchListener进行webview它不起作用。 mWebView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: getSupportActionBar().show(); break; case MotionEvent.ACTION_UP: getSupportActionBar().hide(); break; default: break; } return false; } }); 提前致谢

Android:设备屏幕没有与最新的Android系统WEBVIEW超时

1)基于Cordova(Webview)的Android应用程序。 2)根据设备设置启动应用程序和屏幕超时。 3)从应用程序端,我们没有获取任何SCREEN_BRIGHT_WAKE_LOCK或ON_AFTER_RELEASE。 4)当app放到后台并带到前台时,设备屏幕灯不会超时。 4)从应用程序端,我们没有获取任何SCREEN_BRIGHT_WAKE_LOCK或ON_AFTER_RELEASE。 5)基本上来到前台时,PowerManager获取ON_AFTER_RELEASE | SCREEN_BRIGHT_WAKE_LOCK(0x2000000a)代表我们的应用程序10311唤醒锁定并且屏幕保持打开状态。 Line 58354: 08-14 22:49:22.280 D/PowerManagerService( 1088): [api] acquire WakeLock flags=0x2000000a tag=WindowManager uid=1000 pid=1088 08-14 22:50:22.000 I/PowerManagerService( 1088): [PWL] SCREEN_BRIGHT_WAKE_LOCK ‘WindowManager’ ON_AFTER_RELEASE (uid=1000, pid=1088, ws=WorkSource{10311}) (elapsedTime=59719) 6)启动Android系统WebView 59.0.3071.25 beta(无法正常工作)(2017年5月4日) https://www.apkmirror.com/apk/google-inc/android-system-webview/android-system-webview-59-0-3071-25-release/android-system-webview-59-0-3071- 25-Android的APK下载/ 看到屏幕超时问题。 7)问题没有看到android 7.0使用chrome v59作为webview。 使用的设备:注释4(5.0.1) Webview版本:59.0.3071.125

Android浏览器从完整限定符中删除https://方案

在我的应用程序中,我在CustomTabsIntent或WebView中显示一个外部HTML站点: if (customTabsIntent != null) customTabsIntent.launchUrl(this, Uri.parse(“http://some.where.com/site.html”)); else startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(“http://some.where.com/site.html”))); 但该HTML的风格已经更新,但我的智能手机显示旧样式(旧字体等)。 在* .html文件中有一个* .css引用: 在* .css文件中,引用了单独的字体; 例如: @font-face { font-family: ‘MyFontRegular’; src: url(‘https://www.openfont.org/assets/mail/fonts/MyFontWeb-Regular.woff’) format(‘woff’), url(‘https://www.openfont.org/assets/mail/fonts/MyFontWeb-Regular.eot’) format(’embedded-opentype’); } 正如我所说,智能手机中的Chrome浏览器不会显示引用的字体,因为它会关闭http://或https:// 。 当我手动将该方案添加到地址栏中时,将显示正确的样式。 当我从Android应用程序调用它时,如何在我的android浏览器的地址字段中强制https://方案?

WebView图像未显示HTTPS

我的应用程序打开一个Web视图来显示HTML页面,该页面由HTTPS托管,其中包含一个图像(来自http的图像)。 在某些设备上,图像没有显示,但对于所有其他设备,它的工作正常。 我检查了Nexus,三星s6 / s4,Moto G2等多种设备。 仅在三星S4 / S6上,nexus图像未显示。 但对于所有其他设备,它的工作正常。 即使我尝试使用WI-FI,数据载体和多个操作系统版本,但没有运气。 请帮忙解决这个问题。 一些观察: – 1)在每台设备上我都收到相同的警告: – [已阻止]’ page url ‘ 页面是通过HTTPS加载的,但是显示来自’ image source ‘的不安全内容:此内容也应该通过HTTPS加载。 2)如果我在网络浏览器中打开相同的页面,在所有设备上正常工作。 我的代码 mWebView = (WebView) findViewById(R.id.m_web_view); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); mainUrl = bean.getUrl(); mWebView.loadUrl(“javascript:window.location.reload( true )”); mWebView.loadUrl(mainUrl); mWebView.setWebViewClient(new myWebClient()); private class myWebClient extends WebViewClient { @Override public void onPageStarted(WebView view, […]

Android webview,在assets文件夹中加载javascript文件

我已经看过很多次这个问题,但仍然无法让我的代码工作。 我希望我的webview加载一些URL(例如www.google.com),然后应用存储在assets/jstest.js一些javascript,其中包含以下内容: function test(){ document.bgColor=”#00FF00″; //turns to green the background color } 这是我尝试加载JS的地方: @Override public void onPageFinished(WebView view, String url){ view.loadUrl(“javascript:(function() { ” + ” document.bgColor=’#FF0000′;” //turns to red the background color + ” var script=document.createElement(‘script’); ” + ” script.setAttribute(‘type’,’text/javascript’); ” + ” script.setAttribute(‘src’, ‘file:///android_asset/jstest.js’); ” + ” script.onload = function(){ ” + ” test(); […]

自动填写webview中的字段

我已经看到这个问题浮现在互联网上,但我还没有find一个有效的解决方案。 基本上,我想加载我的应用程序并按下按钮; 然后,按钮操作将在已经加载到webview中的网站中填写用户名和密码(或等待onPageFinished)。 最后,将激活登录页面上的提交按钮。 根据我的理解,这可以通过使用loadUrl(javascript)进行java注入来完成,但我不知道填写字段的java命令是什么。 针对iOS提出了同样的问题,但命令略有不同。 是否有可能在webivew中使用javascript做我要求的事情,或者我是否必须在没有像这样或这样的webview的情况下做一个http-post? 非常感谢您提供任何帮助!

提交表单按钮在WebView上不起作用

在WebView中加载某些网站时,我无法提交表单。 单击提交输入(按钮)时,它会聚焦,但不会发生任何其他情况。 这些相同的网站适用于Chrome(在同一设备中)。 我怎样才能解决这个问题? 我缺少一个设置吗? 关于这个问题发生的原因的反馈也将受到赞赏。 例 重现步骤 加载BrowseActivity ,将加载https://m.ebay.com/ 页面加载后,输入搜索查询(例如“笔记本电脑”) 按表格的蓝色搜索按钮或软键盘的操作按钮(放大镜玻璃图标) 预期行为 :应提交搜索表单并显示搜索结果 实际行为 :蓝色搜索按钮获得焦点(由明亮的边框表示),但没有其他任何事情发生。 BrowseActivity.java public class BrowseActivity extends AppCompatActivity { WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_browse); mWebView = (WebView) findViewById(R.id.home_wv_content); mWebView.setWebViewClient(new WebViewClient()); mWebView.setWebChromeClient(new WebChromeClient()); mWebView.getSettings().setJavaScriptEnabled(true); // Ebay has a blue search button where this issue can be replicated […]