c# - 拦截请求并向 Xamarin.Forms.WebView 提供资源

标签 c# xamarin.forms

我想显示一些引用某些资源(样式表、脚本、图像等)的 XHTML 文档。这些资源是本地的,但它们不存在于文件系统中 - 相反,它们是由我的应用程序生成的。

使用 Android.Webkit.WebViewAndroid.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.comXamarin 已经为此创建了一个临时修复程序,但是您目前必须包含并实现您自己的自定义渲染器才能克服这个问题。

关于c# - 拦截请求并向 Xamarin.Forms.WebView 提供资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141348/

相关文章:

c# - 如何确定字符串是否已在 C# 中以编程方式编码?

c# - Excel工作表获取项目

ios - Xamarin 应用程序在一天未打开后启动时崩溃

xamarin.forms - 来自 Android 后台服务的 Prism DI 容器

Xamarin Forms 图像未从远程 URL 加载

c# - 如何检查远程服务器上是否存在电子邮件收件箱

c# - 如何跟踪调用方法的次数

c# - 检查正则表达式中的字母数字和下划线字符

xaml - 在 xamarin 表单中的所有控件上动态添加效果

c# - 隐藏标题选项卡式导航页 Xamarin/FreshMvvm