xamarin.forms webview baseurl在设备上不起作用(iOS 10.1)

xdev

我有一个使用HybridWebView(https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/hybridwebview/的xamarin.forms应用程序来显示html文档。我使用baseUrl将本地CSS和JS加载到文档中。这段代码在iOS 9.x上运行良好。

但是,在我升级到iOS 10之后,该代码可在iOS模拟器上运行,但不能在实际设备上运行。在设备上,它不会从本地存储加载CSS。

这是我正在使用的测试代码。它可以在模拟器上运行,但不能在设备上运行。

    async void Handle_TestButtonClicked (object sender, System.EventArgs e)
    {
        string css = @"
            body {
                background-color: powderblue;
            }
            h1 {
                color: blue;
            }
            p {
                color: red;
            }
            ";
        var folder = await AppGlobals.AppStorage.GetContentFolder ();
        string filename = "styles.css";
        await AppGlobals.AppStorage.WriteToFile (folder, filename, css);

        string html = @"<!DOCTYPE html>
                        <html>
                        <head>
                          <link rel=""stylesheet"" href=""styles.css"">
                        </head>
                        <body>

                        <h1>This is a heading</h1>
                        <p>This is a paragraph.</p>

                        </body>
                        </html>";

        this.DocumentView.Html = html;
    }

在HybridWebView中,我使用以下代码设置baseUrl

            if (Element.Html != null) {
                string baseFolderPath = await AppStorage.GetInstance ().GetContentFolderPath ();
                var baseUrl = new NSUrl (baseFolderPath, true);
                Control.LoadHtmlString (Element.Html, baseUrl);
            }

我正在使用PCLStorage库读取/写入本地存储。

xdev

我认为LoadHtmlString已损坏,无法加载本地CSS / JS等。

通过将HTML字符串写入本地文件,然后使用LoadFileUrl加载它来解决此问题。这按预期工作

if (!String.IsNullOrEmpty (Element.Uri)) {
                    string filePath = await GetFilePathInContentFolderFromUri (Element.Uri);
                    var fileUrl = new NSUrl (filePath, false);
                    Control.LoadFileUrl (fileUrl, fileUrl);
                }

另一个解决方法是将所需的css / js注入html文档本身,并仍然使用LoadHtmlString,这可行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xamarin Forms Webview html视频无法在iOS设备上播放

来自分类Dev

Xamarin Forms InputTransparent在Android上不起作用

来自分类Dev

Xamarin Forms-使webview返回

来自分类Dev

Xamarin Forms:在滚动时禁用 webview 中的拉伸(IOS)

来自分类Dev

在xamarin.forms的listview内的webview

来自分类Dev

在Xamarin.Forms WebView中执行Javascript

来自分类Dev

UWP和Windows Phone 8.1上Xamarin.Forms中的Webview BaseURL

来自分类Dev

Xamarin Forms CollectionView命令不起作用

来自分类Dev

使用 Xamarin.Forms 应用程序中的 .NET HttpClient 登录到 ASP.NET Core 应用程序在 Android 真实设备上不起作用

来自分类Dev

拉刷新以使用Xamarin Forms在Android Build中的ListView上不起作用

来自分类Dev

Navigation.PushAsync(new Page())在Xamarin.Forms中的某些页面上不起作用

来自分类Dev

Navigation.PushAsync(new Page())在Xamarin.Forms中的某些页面上不起作用

来自分类Dev

Flutter中的PayPal WebView在物理设备上不起作用

来自分类Dev

Xamarin.Forms.WebView.Navigating事件在iOS上引发以进行内部导航

来自分类Dev

尝试聚焦时,Webview文本字段会滚动到顶部-Xamarin.forms iOS

来自分类Dev

Xamarin.Forms.WebView.Navigating事件在iOS上引发以进行内部导航

来自分类Dev

为什么 Xamarin Forms Webview 绑定不会在 iOS 上刷新?

来自分类Dev

AngularJS在Xamarin Android Webview中不起作用

来自分类Dev

(click)事件仅在IOS设备上不起作用-angular 10应用

来自分类Dev

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

来自分类Dev

Xamarin Forms处理Webview导航中的超链接

来自分类Dev

xamarin.forms处理WebView上的Clicked事件

来自分类Dev

Xamarin Forms以字符串形式获取WebView内容

来自分类Dev

Xamarin.Forms WebView,WKWebViewConfiguration和发送“移动”标头

来自分类Dev

如何处理Xamarin.forms Webview中的加载错误

来自分类Dev

Xamarin.Forms.WebView-获取显示页面的标题?

来自分类Dev

Xamarin Forms以字符串形式获取WebView内容

来自分类Dev

Xamarin.Forms Webview不显示来自URL的响应HTML

来自分类Dev

Xamarin.iOS NSUrlSession在iOS 8上不起作用

Related 相关文章

  1. 1

    Xamarin Forms Webview html视频无法在iOS设备上播放

  2. 2

    Xamarin Forms InputTransparent在Android上不起作用

  3. 3

    Xamarin Forms-使webview返回

  4. 4

    Xamarin Forms:在滚动时禁用 webview 中的拉伸(IOS)

  5. 5

    在xamarin.forms的listview内的webview

  6. 6

    在Xamarin.Forms WebView中执行Javascript

  7. 7

    UWP和Windows Phone 8.1上Xamarin.Forms中的Webview BaseURL

  8. 8

    Xamarin Forms CollectionView命令不起作用

  9. 9

    使用 Xamarin.Forms 应用程序中的 .NET HttpClient 登录到 ASP.NET Core 应用程序在 Android 真实设备上不起作用

  10. 10

    拉刷新以使用Xamarin Forms在Android Build中的ListView上不起作用

  11. 11

    Navigation.PushAsync(new Page())在Xamarin.Forms中的某些页面上不起作用

  12. 12

    Navigation.PushAsync(new Page())在Xamarin.Forms中的某些页面上不起作用

  13. 13

    Flutter中的PayPal WebView在物理设备上不起作用

  14. 14

    Xamarin.Forms.WebView.Navigating事件在iOS上引发以进行内部导航

  15. 15

    尝试聚焦时,Webview文本字段会滚动到顶部-Xamarin.forms iOS

  16. 16

    Xamarin.Forms.WebView.Navigating事件在iOS上引发以进行内部导航

  17. 17

    为什么 Xamarin Forms Webview 绑定不会在 iOS 上刷新?

  18. 18

    AngularJS在Xamarin Android Webview中不起作用

  19. 19

    (click)事件仅在IOS设备上不起作用-angular 10应用

  20. 20

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

  21. 21

    Xamarin Forms处理Webview导航中的超链接

  22. 22

    xamarin.forms处理WebView上的Clicked事件

  23. 23

    Xamarin Forms以字符串形式获取WebView内容

  24. 24

    Xamarin.Forms WebView,WKWebViewConfiguration和发送“移动”标头

  25. 25

    如何处理Xamarin.forms Webview中的加载错误

  26. 26

    Xamarin.Forms.WebView-获取显示页面的标题?

  27. 27

    Xamarin Forms以字符串形式获取WebView内容

  28. 28

    Xamarin.Forms Webview不显示来自URL的响应HTML

  29. 29

    Xamarin.iOS NSUrlSession在iOS 8上不起作用

热门标签

归档