【问题标题】:how to pass data from xamarin shared project to an html如何将数据从 xamarin 共享项目传递到 html
【发布时间】:2020-03-04 07:12:12
【问题描述】:

我的页面中有一个 web 视图,其中显示了一个图表(融合图表)。 我用js函数写了一个html页面如下:

<html lang="en">
<head>
<script src="file:///android_asset/fusioncharts.js"></script>
<script src="file:///android_asset/fusioncharts.charts.js"></script>
</head>
<body>
<div id="chart-container"></div>

<script>
    function loadChart(chartData) {

        const dataSource = {
            chart: {
                theme: "fusion",
                "showPlotBorder": "1",
                "plotBorderColor": "#ffffff"
            },
            data: chartData
        };

        FusionCharts.ready(function () {
            var myChart = new FusionCharts({
                type: "column2d",
                renderAt: "chart-container",
                width: "100%",
                height: "100%",
                dataFormat: "json",
                dataSource
            }).render();
        });
    }

    loadChart(chartData);
</script>
</body>
</html>

我需要借助我的 webview 将数据从我的共享项目传递给 loadchart 函数。这可能吗?

【问题讨论】:

  • 您好,您的意思是要将流数据(图表数据)从表单传递到 Html 吗?
  • @JuniorJiang-MSFT 是的。
  • 好吧,这里有一个swift method 供参考。您可以使用 WKUserScript 将数据从 native 传递到 html 。您可以尝试将 swift 转换为 c# 。

标签: xamarin xamarin.forms xamarin.android fusioncharts


【解决方案1】:

在 Android 上有很多方法可以做到这一点,但我会提醒您根据 WebView 使用的默认浏览器在不同设备上进行测试。

幸运的是,由于您使用的是 Xamarin Forms,因此您可以只使用 Javascript 评估函数,该函数使您能够将 JS 代码放入函数中。然后正确计时,您可以调用一个 JS 函数,该函数将从您的 C# 中获取值。

这是 MS 关于函数的文档 Eval()EvaluateJavaScriptAsync()

Here 是它的一些用法示例:

webView.EvaluateJavaScriptAsync(string.Format("document.getElementById(\"{0}\").value = \"{1}\"", "langs1", from));
webView.EvaluateJavaScriptAsync(string.Format("DDMENU(0)"));

如果您有任何问题,请告诉我!

【讨论】:

  • 感谢它在 xam android 中工作。您能否建议在 Xamarin iOS 中实现的任何链接,例如在 iOS 项目中放置 .js 和 html 文件的位置?
  • 同样的解决方案也应该适用于 Xamarin iOS。如果没有,那么你有一个单独的问题。你能在一个单独的问题中提出这个问题并在这里标记它吗?
猜你喜欢
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-12
  • 2015-01-23
  • 2020-08-03
  • 2020-02-23
相关资源
最近更新 更多