问题标签 [webviewclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
153871 浏览

android - setWebViewClient 与 setWebChromeClient 有什么区别?

setWebViewClientsetWebChromeClient在 Android 中的区别是什么?

0 投票
1 回答
2657 浏览

android - 从 WebViewClient 到 Activity 的 Android WebView 通信

我有一个简单的 helloworld 应用程序。我试图告诉 Activity 用户点击了“Cnn.com”

我该怎么做。

(我来自 C# .NET 背景)

0 投票
3 回答
7040 浏览

javascript - android:webview 不使用自定义 WebViewClient 加载 javascript

我有一个非常基本WebView的方法,直到我尝试添加一个webViewClient停止处理 JavaScript 的自定义。难道我做错了什么?是否有另一种方法可以摆脱 WebView 中的地址栏和菜单选项?

0 投票
3 回答
31208 浏览

android - Android - 如何在 API 级别 4 的 android WebViewClient 中拦截表单 POST

WebViewClient喜欢WebView这样:

这是我的实现MyWebViewClient

我给了WebView一个 URL 以通过loadUrl(). 如果我a href...在页面中有一个链接(),我的shouldOverrideUrlLoading方法被调用,我可以拦截链接点击。

但是,如果我有一个方法为 的表单,则不会调用POST该方法。shouldOverrideUrlLoading

我在这里注意到了一个类似的问题:http ://code.google.com/p/android/issues/detail?id=9122这似乎建议postUrl在我的WebView. 但是,此 API 仅从 API 级别 5 开始可用。

如果我处于 API 级别 4,我该怎么办?有没有其他方法可以拦截表单帖子?

0 投票
1 回答
5324 浏览

android - WebViewClient 中的 onPageFinished 似乎无法正确触发

我已经看到了另一个关于此的 SO 问题,但没有解决。

我将 LoadData() 与应用程序生成的 html 一起使用。

我注意到当我在新文本之后添加几行空白行时,页面滚动并且文本需要一段时间才能神奇地出现(没有滚动,它只是以淡入方式出现。)。

观看 .getContentHeight() 它不会在 onPageFinshed() 事件中更新,但会在页面上后续添加文本时更新。

我创建了一个计时器事件来观看 getContentHeight。即使在我发现 getContentHeight 已更改并发出 browser.pageDown(true) 之后,页面仍然滚动到底部。

第一次进入活动时,它似乎工作正常。我的问题只发生在我在 newInnerHTML 中附加几行时。

此外,所涉及的视图有一个页眉和页脚,中间是浏览器。webView 不在页脚后面。

这是一个错误,还是我错过了什么?

TIA,吉姆

此代码在活动的 onCreate 中。

此方法在活动的 onCreate 之后

私人无效更新消息显示(){

0 投票
1 回答
878 浏览

android - 我需要知道页面何时真正完成加载

我对 Android 还是很陌生,我有一个应用程序,上面有一个 webview。

我需要知道 webview 何时完成加载具有随机重定向的页面(有时到同一页面,并且重定向的顺序也发生变化),因此只有在完全加载页面时才能删除启动画面.

在 webviewclient 上,每次重定向都会调用一次 onPageStarted 和 onPageFinished 函数,onNewPicture 也是如此(即使在重定向期间屏幕始终是空白的)。所以我不能确定最后一次调用它的时间(实际加载的页面)。

我也尝试使用 onLoadResource 来计算加载的资源数量(危险且不可靠的方法,但我在这里感到绝望),但这也失败了,因为页面缓存后,它只被调用了一两次。

这是我目前无法用我所知道的知识解决的一个大难题,有人可以帮我吗?

提前非常感谢。

0 投票
0 回答
726 浏览

android - 将 WebViewClient 设置为 WebView 无法正常工作

我正在编写一个应该通过 Twitter 授权的应用程序。我将 WebView 链接加载到我的应用程序服务器,这会将我重定向到 Twitter 授权页面。在此之前,用户使用 DefaultHttpClient 登录我的应用服务器。

如果我只是写_webView.loadUrl(link);,那么一切正常,但如果我 _webView.setWebViewClient(new WebViewClient(){});在加载链接之前添加 - 它会将我重定向到我的应用程序服务器上的授权。

我应该怎么做才能删除此重定向?

0 投票
2 回答
1583 浏览

android - 拦截html按钮点击

当用户单击 html 按钮时是否有可能拦截?我有一个 webviewclient,它使用两个按钮加载登录页面。允许和拒绝。我想在按下拒绝按钮时拦截。(拒绝和允许有相同的 basUrl 和一个 js 做正确的重定向)。

提前致谢

0 投票
1 回答
1229 浏览

android - Android - WebViewClient 加载页面非常缓慢

作为一名开发人员,在构建在 3G 连接的 Android webviewclient 上运行的应用程序(带有网页)时,我的经历非常糟糕。我的一些用户说有些页面需要 10 分钟才能加载。(我不知道他们是否因为沮丧而夸大其词。)就个人而言,我使用运行 Android 2.2 的 HTC Desire 并用我自己的手机测试了我的应用程序。事实上,即使对于使用本地存储的网页来发出 AJAX 请求的应用程序,它在 3G 上也非常慢。大多数时候,它只会超时并显示一个空白页面。当它在 WIFI 上时,它工作正常并且速度非常快。

我听很多人说Android 2.2 上的原生浏览器速度非常快。对我来说,我必须说原生浏览器应用程序在 3G 上也很慢。有时,谷歌移动主页甚至没有完成加载。我在新加坡,所以大多数地方的 3G 覆盖都应该没问题。

是导致问题的设备硬件吗?

0 投票
7 回答
117737 浏览

android - 拦截并覆盖来自 WebView 的 HTTP 请求

我的应用程序中有一个 WebView,其中打开了一些站点(始终相同,它是我自己的页面)。该站点有一些从远程主机加载一些图像的 JS 代码。

我想拦截对此类图像的请求(通过 URL 模式)并返回我自己的内容(即另一个图像),或者根据内部应用程序逻辑保持请求不变。

有可能这样做吗?

编辑:问题的当前状态......

WebView具有设置 a 的能力WebViewClient(如 Axarydax 所述)。WebViewClient有两个有用的方法

  • shouldOverrideUrlLoading
  • onLoadResource

shouldOverrideUrlLoading能够拦截任何 URL 加载,如果加载是由页面交互触发的(即单击页面上的链接, WebView.loadURL("") 不会触发此方法)。它还可以通过返回 false 来取消 URL 加载。这种方法不可用,因为它无法拦截页面资源的加载(我需要拦截的图像就是这样的页面资源)。

onLoadResource每次加载该页面资源(和图像!感谢 Jessyjones)时都会触发,但没有办法取消它。这使得这种方法也不适合我的任务。