我想显示一些引用某些资源(样式表、脚本、图像等)的 XHTML 文档。这些资源是本地的,但它们不存在于文件系统中 - 相反,它们是由我的应用程序生成的。
使用 Android.Webkit.WebView
和 Android.Webkit.WebViewClient
,我可以拦截请求并完美地提供这些资源,使用如下:
internal class MyWebViewClient : WebViewClient
{
public override WebResourceResponse ShouldInterceptRequest (WebView view, string url)
{
/* logic to create a resource stream for the requested url */
return new WebResourceResponse (mimeType, encoding, generatedStream);
}
}
我可以使用 Xamarin.Forms.WebView
及其相关类实现类似的功能吗?如果是这样,如何?我在 API 文档中没有注意到任何看起来提供等效行为的方法。
最佳答案
Xamarin.Forms WebView 控件目前非常基础。 class members表明你不会能够实现你想做的事情。
您可以加载HTML 资源等here这对于确定如何引用本地文件非常有用,如果您决定并沿着这条路线走的话。
但是请注意,在 Android 上的 Xamarin.Forms v1.2.2.6243 中,Source 属性设置不正确 网址。例如,如果您导航到 www.yahoo.com 并在该网站上点击几下,您将看到一些查询字符串参数等。但是,在 Android 上,这总是返回为 Source 属性为 www.yahoo.com。 Xamarin 已经为此创建了一个临时修复程序,但是您目前必须包含并实现您自己的自定义渲染器才能克服这个问题。
关于c# - 拦截请求并向 Xamarin.Forms.WebView 提供资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141348/