【问题标题】:What does "block all network load requests" mean?“阻止所有网络加载请求”是什么意思?
【发布时间】:2011-07-20 19:31:37
【问题描述】:

我正在寻找加快 WebView 加载速度的方法,我遇到了WebSettings.setBlockNetworkLoads(),文档中对此进行了非常简短的描述:

告诉 WebView 阻止所有网络加载请求。

但我不清楚“所有网络加载请求”是什么意思。

它会像setBlockNetworkImage() 那样阻止加载图像吗?

它会阻止其他东西吗? (如果是,它会阻止什么?)

【问题讨论】:

  • 我会尝试使用它,看看会发生什么。运行 ACID 或 Kongregate 以查看它是否阻止 JavaScript 或 Flash 或所有内容。
  • @notverycreative 这是一个非常有创意的答案,我正在开始尝试这个,但我也希望了解术语 .我有一种感觉,“网络负载请求”在网络专家中具有特殊的含义。 (我不是这样的专家)

标签: android webview android-webview


【解决方案1】:

根据this code sample,意思是“阻止WebView通过网络加载外部资源”。

我将此解释为允许在本地加载资源(缓存、内存),但不允许通过网络加载,甚至不允许您明确指定的 URL。

因此,正如您所观察到的,它将阻止所有内容,包括图像。

【讨论】:

  • 如果它阻止了一切,为什么推荐它作为setBlockNetworkImage()的替代品?你能提供一个使用例子吗?
【解决方案2】:

我从未使用过该特定设置,但没有任何进一步的上下文,我认为这意味着 WebView .load 方法。

WebView.loadData(String data, String mimeType, String encoding);
WebView.loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl);
WebView.loadUrl(String url);
WebView.loadUrl(String url, Map<String, String> extraHeaders);

【讨论】:

  • +1 第一次尝试回答这个问题。我刚刚尝试设置 WebSettings.setBlockNetworkLoads(true) 并且没有从指定的 URL 加载任何内容,甚至没有加载 HTML!这意味着您可能是对的,但是为什么 Google 会推荐使用这种方法而不是 setBlockNetworkImage()?
【解决方案3】:

用于防止 WebView 加载其他页面。因此,如果您需要显示页面但不允许在加载的页面中单击任何链接,请使用它。

加载页面,然后将此标志设置为 true 以使其正常工作。

我想!

【讨论】:

  • +1 第二次尝试回答这个问题。有趣的是,没有人真正确定答案。这对文档有什么说明?哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-06
  • 2013-06-27
  • 2014-03-28
  • 2011-05-26
  • 2016-10-31
  • 2021-11-04
相关资源
最近更新 更多