Я могу встроить приборную панель таблицы в HTML, используя необработанный код встраивания, но теперь я хочу сохранить этот код встраивания как переменную, чтобы его можно было связать с выпадающим меню и включить / выкл. Вот код для встраивания:
<div class='tableauPlaceholder' id='viz1587399162124' style='position: relative'><noscript><a href='https://www.doj.state.wi.us/dles/bjia/ucr-sex-offense-data'><img alt=' ' src='https://public.tableau.com/static/images/UC/UCRSexOffenseData-TabVersion/OffenseRates/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='UCRSexOffenseData-TabVersion/OffenseRates' /><param name='tabs' value='yes' /><param name='toolbar' value='yes' /><param name='static_image' value='https://public.tableau.com/static/images/UC/UCRSexOffenseData-TabVersion/OffenseRates/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('viz1587399162124'); var vizElement = divElement.getElementsByTagName('object')[0]; vizElement.style.width='1000px';vizElement.style.height='850px'; var scriptElement = document.createElement('script'); scriptElement.src = 'https://public.tableau.com/javascripts/api/viz_v1.js'; vizElement.parentNode.insertBefore(scriptElement, vizElement); </script>
А вот моя попытка преобразовать в строку и сохранить ее как javascript переменную:
var myEmbedCode= '<div class="tableauPlaceholder" id="viz1587396794613" style="position: relative"><noscript><a href="https://www.doj.state.wi.us/dles/bjia/ucr-arrest-data"><img alt=" " src="https://public.tableau.com/static/images/UC/UCRArrests/DataNotesReadMe/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="UCRArrests/DataNotesReadMe" /><param name="tabs" value="yes" /><param name="toolbar" value="yes" /><param name="static_image" value="https://public.tableau.com/static/images/UC/UCRArrests/DataNotesReadMe/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("viz1587396794613"); var vizElement = divElement.getElementsByTagName("object")[0]; vizElement.style.width="1000px";vizElement.style.height="850px"; var scriptElement = document.createElement("script"); scriptElement.src = "https://public.tableau.com/javascripts/api/viz_v1.js"; vizElement.parentNode.insertBefore(scriptElement, vizElement); </script>'
Когда я пытаюсь вызвать переменную с слушатель событий, он не работает и панель инструментов не отображается.
$(document).ready(function(){
$('#tableauToggle').on('click', function(e) {
// Prevent the page from reloading
document.getElementById("tableauContent").innerHTML = myEmbedCode
});
Любая помощь приветствуется!