Articles of webview

视口适合屏幕宽度和大图像

我正在尝试使用WebView显示内置多点触控的大图像,并尝试避免内存崩溃。 我这样设置webView: setInitialScale(20); WebSettings settings = getSettings(); settings.setJavaScriptEnabled(true); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); settings.setSupportZoom(true); settings.setBuiltInZoomControls(true); 然后加载以下代码: 问题是,如果它加载一个中等图像(例如1600×1200),它工作得很好,图像适合屏幕宽度。 但是如果在我的示例中图像更大7300×5200,它看起来像放大并禁用缩小。 如果你想测试图像url是: img1 & img2 注意:我不是该图像的所有者,我只是用它来进行测试

Android:如何在使用webview.loadUrl时检查是否成功加载了url

在webview android我试图加载一个url,以检查此url的加载是否成功(互联网连接可用,服务器已启动等)我的印象是webview.loadUrl会抛出exception,但错误! 因为它在这里明确说明“不会抛出exception”。 那么如何检查webview.loadUrl是否没有失败?

如何在android WebView客户端中设置cookie

我想通过WebView调用一个特定的URL。 该页面只能在用户登录后调用。我使用AsyncHttpClient库执行登录调用。 成功登录后,通过WebView加载URL似乎无法识别正确的标头esp cookie。 我怀疑是在HttpClient和WebView的HttpClient之间cookie没有正确同步。 知道为什么吗? 。 这是我如何使用WebView final WebView webView = (WebView) content.findViewById(R.id.web_travel_advisory); String url = “http://mydomainurl.com/get_data_after_login”; webView.setWebViewClient(new WebViewClient()); CookieSyncManager.createInstance(getActivity()); CookieSyncManager.getInstance().startSync(); CookieManager.getInstance().setAcceptCookie(true); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl(url); 感谢你的帮助。

有什么方法可以隐藏webview中的元素吗? (机器人)

有一个我用webview上传的网页,但是我想在顶部隐藏1个文本链接。 有没有办法做到这一点? 链接在身体中,所以我不能整体隐藏身体元素。 网页是全文,底部是一个小图片,但每次加载时都会生成文本,所以我不能只复制/粘贴正文。 谢谢

Android移动用户代理?

我目前正在为一个论坛制作一个Android应用程序,基本上它只是在webview中加载网站,并且工作正常,但我正在尝试添加一个选项来查看完整的网站或移动网站。 我通过制作布尔型BrowserType来实现它,当设置为true时,在webview中加载移动站点,当设置为false时,加载整页。 我已经有了它的工作和一切,完整的网站加载和我jsut有用户代理为“Chrome”,我将移动用户代理设置为“移动”,但这不起作用,我应该使用什么作为移动用户代理? 仅供参考,这是我正在使用的方法: myWebView.getSettings().setUserAgentString(“Chrome”); 然后对于移动设备而不是“Chrome”,我使用“移动”。 移动设备的正确用户代理是什么?

如何获取Webview iframe链接以启动浏览器?

我正在使用WebView显示一个页面,其中html包含一个iframe,其中src =“xxxxx.php”。 此iframe作为带有基础链接的广告图片加载。 如果我点击该图像(链接),它会尝试在原始iframe中加载新页面(在该小空间中不会显示太多)。 我想要发生的是点击链接在新的浏览器窗口中打开引用的页面,保持我的应用程序不变。 如果我使用Android浏览器显示原始页面并单击此iframe,则会将链接加载为新页面。 如何使用WebView获得相同的行为? 使用带有shouldOverrideUrlLoading()的WebViewClient似乎不会被iframe链接调用。

如何在webView URL上处理intent://?

我目前正在开发一个带有webView的Android应用程序。 在一些urls我需要使用shouldOverrideUrlLoading方法,这非常简单: if(url.startsWith(“something”)){ //do something return true; } 我的问题: 例如,Google搜索上的某些URL具有以下URL方案: intent://en.m.wikipedia.org/wiki/Test_cricket#Intent;scheme=http;package=org.wikipedia;S.browser_fallback_url=https%3A%2F%2Fwww.google.pt%2Fsearchurl%2Fr.html%23app%3Dorg.wikipedia%26pingbase%3Dhttps%3A%2F%2Fwww.google.pt%2F%26url%3Dhttps%3A%2F%2Fen.m.wikipedia.org%2Fwiki%2FTest_cricket;S.android.intent.extra.REFERRER_NAME=https%3A%2F%2Fwww.google.pt;launchFlags=0x8080000;end 我尝试过使用: Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(browserIntent); 但是我收到了一个错误: 10-15 15:18:15.546: W/System.err(29086): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=intent://en.m.wikipedia.org/wiki/Test_cricket } 我该如何处理这种URL方案? 更新: 在@CommonsWare评论之后,我尝试在Intent上使用parseUri()从URL创建一个Intent object ,然后尝试使用startActivity() ,例如: Intent myIntent = new Intent().parseUri(url, Intent.URI_INTENT_SCHEME); startActivity(myIntent); 但我仍然得到: android.content.ActivityNotFoundException: No Activity found to handle Intent […]

删除webview的焦点叠加颜色

我有一个加载网站的WebView ,一旦我按下该网站的一些元素,WebView就会在按下的元素上放置某种蓝色覆盖。 反正有没有删除此行为? 提前致谢!

在Webview上禁用双击缩放/取消缩放

在Android上,我正在使用webview来显示由API flot设计的图表。 我正在使用此代码: super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.graphique); // Get a reference to the declared WebView holder WebView webview = (WebView) this.findViewById(R.id.webView1); // Get the settings WebSettings webSettings = webview.getSettings(); // Enable Javascript for interaction webSettings.setJavaScriptEnabled(true); // Make the zoom controls visible //webSettings.setBuiltInZoomControls(true); // Allow for touching selecting/deselecting data series webview.requestFocusFromTouch(); // Set the client […]

从WebView获取位图会导致OutOfMemory崩溃

我有一个自定义WebView ,我想获得其内容的位图(包括屏幕外)。 我使用了这段代码,我从这里得到了 : public static Bitmap getBitmapFromWebviewV2(WebView webView) { webView.measure(View.MeasureSpec.makeMeasureSpec( View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); webView.layout(0, 0, webView.getMeasuredWidth(), webView.getMeasuredHeight()); webView.setDrawingCacheEnabled(true); webView.buildDrawingCache(); Bitmap bm = Bitmap.createBitmap(webView.getMeasuredWidth(), webView.getMeasuredHeight(), Bitmap.Config.ARGB_8888); Canvas bigcanvas = new Canvas(bm); Paint paint = new Paint(); int iHeight = bm.getHeight(); bigcanvas.drawBitmap(bm, 0, iHeight, paint); webView.draw(bigcanvas); return bm; } 当我放大很多时,它工作正常,在这种情况下,我得到OutOfMemory Crash。 我用相同的图片(稍微放大并缩放到最大值)测试了它,它的行为与我上面提到的相同。 我试图通过添加来解决这个问题 while(webView.canZoomOut()){ webView.zoomOut(); […]