Я новичок в Xamarin. Я делаю проект с использованием MasterPages, который показывает некоторые из моих таблиц Dashboards, и раньше у меня никогда не было проблем с использованием ASP. NET для вставки такого рода панелей мониторинга.
Я хочу знать, возможно ли это чтобы поместить в мои страницы контента с помощью XamarinForms панель инструментов из Tableau Publi c, похоже, для этого используется API JS.
Вот сам код:
<div class='tableauPlaceholder' id='viz1586875192729' style='position: relative'>
<noscript>
<a href='#'>
<img alt=' ' src='https://public.tableau.com/static/images/Da/DashboardEBITDAEFATURAMENTO1_0_3revfinal/Painel4/1_rss.png' style='border: none' />
</a>
</noscript>
<object class='tableauViz' style='display:none;'>
<param name='host_url' value='https%3A%2F%2Fpublic.tableau.com%2F' />
<param name='embed_code_version' value='3' />
<param name='site_root' value='' />
<param name='name' value='DashboardEBITDAEFATURAMENTO1_0_3revfinal/Painel4' />
<param name='tabs' value='no' />
<param name='toolbar' value='yes' />
<param name='static_image' value='https://public.tableau.com/static/images/Da/DashboardEBITDAEFATURAMENTO1_0_3revfinal/Painel4/1.png' />
<param name='animate_transition' value='yes' />
<param name='display_static_image' value='yes' />
<param name='display_spinner' value='yes' />
<param name='display_overlay' value='yes' />
<param name='display_count' value='yes' />
</object>
</div>
<script type='text/javascript'>
var divElement = document.getElementById('viz1586875192729');
var vizElement = divElement.getElementsByTagName('object')[0];
if ( divElement.offsetWidth > 800 ) { vizElement.style.width='1100px';vizElement.style.height='627px';}
else if ( divElement.offsetWidth > 500 ) { vizElement.style.width='1100px';vizElement.style.height='627px';}
else { vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*1.77)+'px';}
var scriptElement = document.createElement('script');
scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js';
vizElement.parentNode.insertBefore(scriptElement, vizElement);
</script>
Единственное, что я мог на самом деле получить, - это создать WebView внутри XAML, а затем вставить URL-адрес исходного веб-сайта следующим образом:
<ContentPage.Content>
<StackLayout>
<WebView x:Name="Browser"></WebView>
</StackLayout>
</ContentPage.Content>
И затем на моем CS я сделал это
public FaturamentoView()
{
InitializeComponent();
Browser.WidthRequest = 1000;
Browser.HeightRequest = 1000;
Browser.Source = "https://public.tableau.com/profile/fernando3479#!/vizhome/RelatrioFATURAMENTO1_0_2/RelatrioFaturamento";
Но все же он показывает только веб-визуализацию, я хочу использовать код JS, есть ли способ?