Можно ли открыть встроенный файл HTML с помощью Xamarin.Essetianls.Browser - PullRequest
1 голос
/ 08 марта 2020

Необходимо представить довольно большой внедренный документ T & C в Xamarin Native (НЕ Xamarin.Forms). Xamarin.Essetianls.Broswser.OpenAsyn c ("url") прекрасно работает на странице сайта, но выдает ошибку:

The specified URL has an unsupported scheme. Only HTTP and HTTPS URLs are supported.

при попытке

await Browser.OpenAsync("file://Data/TsAndCs.html")

1 Ответ

0 голосов
/ 09 марта 2020

В android вы можете поместить свою локальную страницу html в папку «Ресурсы», обратите внимание на действие «Построить» для AndroidAsset.

enter image description here

Затем вы можете создать интерфейс для получения пути к файлу html.

public interface IBaseUrl
{
     string Get();
}

Получите его в папке Android.

    [assembly: Dependency(typeof(BaseUrl_Android))]
namespace MyWebView.Droid
{
    public class BaseUrl_Android : IBaseUrl
    {
        public BaseUrl_Android()
        {
        }

        public string Get()
        {
            return "file:///android_asset/";
        }
    }
}

Для IOS достижение, вы можете обратиться к этой теме:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=windows#local - html -контент

Примечание: если вы хотите Взаимодействие между кодом JS и контроль форм xamarin перед отображением html страницы, пожалуйста, поставьте этот код детали на Navigated="MywebView_Navigated"

Вот мой местный html.

<!DOCTYPE html>
<html>
<body>
 <span id="myfont">This is Local Html</span>

<script type="text/javascript">
function factorial(num) {
        if (num === 0 || num === 1)
            return 1;
        for (var i = num - 1; i >= 1; i--) {
            num *= i;
        }
        return num;
}
</script>
</body>
</html>

Здесь работает скриншот.

enter image description here

...