1 Востаннє редагувалося Betterthanyou (29.04.2020 20:04:14)

Тема: Xamarin, WebView, an error has occurred in the script on this page

Потрібно вивести графік. В Xamarin немає стандартних засобів для цього. OpenGL той що використовується у Windows i Adnroid різні. Безкоштовні пакети для графіків не працюють на віндовс. Тому я вирішив скористатися не найкращим рішенням - зробити веб сторінку з графіком яка буде відображатися як для Windows так і Adnroid.

(Зараз йде мова про віндовс)

Ну, ось цікава проблема якщо завантажуватися веб сторінку за допомогою URL посилання

<WebView HeightRequest="1000" WidthRequest="1000" Source="http://gionkunz.github.io/chartist-js/examples.html"/>

сторінка відображається без жодних проблем, а коли завантажувати як HTML код

var browser = new WebView();
var htmlSource = new HtmlWebViewSource();
htmlSource.Html = ТУТ HTML КОД;
browser.Source = htmlSource;

Помилка "an error has occurred in the script on this page"

Ось HTML https://drive.google.com/open?id=1gtVBu … Wu3ycFNcHc додав все в один файл щоб точно бути впевненим що ніякі файли не "губляться" під час виконання (форум не дозволяє такий великий файл вставляти)

https://i.ibb.co/rGvqTCY/f76.png

Що мені зробити з цією помилкою ? Як її виправити ?

2

Re: Xamarin, WebView, an error has occurred in the script on this page

WebView не підтримує функцію Object.create(...), бо це той самий IE, який багато чого не підтримує.
Перед використанням create треба створити цю функцію.
Додайте фрагмент, який створить функцію create, наприклад

<script>
    if(typeof Object.create !== 'function') {
        Object.create = function(o, props) {
            function F() {}
            F.prototype = o;
            if(typeof(props) === "object") {
                for(prop in props) {
                    if(props.hasOwnProperty(prop)) {
                        F[prop] = props[prop];
                    }
                }
            }
            return new F();
        };
    }
</script>
Джерело (англ.)
Подякували: Betterthanyou, 221VOLT2

3

Re: Xamarin, WebView, an error has occurred in the script on this page

Ех, там є ще Object.getOwnPropertyNames() якого не можна замінити

4

Re: Xamarin, WebView, an error has occurred in the script on this page

Чому б не намалювати графік на формі без OpenGL? Хібав в Android в WebView буде не Хромог?

5

Re: Xamarin, WebView, an error has occurred in the script on this page

javascriptIsLife написав:

Чому б не намалювати графік на формі без OpenGL? Хібав в Android в WebView буде не Хромог?

WebView чомусь не працює адекватно у віндовс, власне ось та помилка з скріншота. На андроід працює WebView.
Як я пояснював раніше "якщо завантажуватися веб сторінку за допомогою URL посилання сторінка відображається без жодних проблем, а коли завантажувати як HTML код. Помилка "an error has occurred in the script on this page"