сохранить код панели инструментов для встраивания в качестве переменной javascript? - PullRequest
0 голосов
/ 20 апреля 2020

Я могу встроить приборную панель таблицы в HTML, используя необработанный код встраивания, но теперь я хочу сохранить этот код встраивания как переменную, чтобы его можно было связать с выпадающим меню и включить / выкл. Вот код для встраивания:

<div class='tableauPlaceholder' id='viz1587399162124' style='position: relative'><noscript><a href='https:&#47;&#47;www.doj.state.wi.us&#47;dles&#47;bjia&#47;ucr-sex-offense-data'><img alt=' ' src='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;UC&#47;UCRSexOffenseData-TabVersion&#47;OffenseRates&#47;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&#47;OffenseRates' /><param name='tabs' value='yes' /><param name='toolbar' value='yes' /><param name='static_image' value='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;UC&#47;UCRSexOffenseData-TabVersion&#47;OffenseRates&#47;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:&#47;&#47;www.doj.state.wi.us&#47;dles&#47;bjia&#47;ucr-arrest-data"><img alt=" " src="https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;UC&#47;UCRArrests&#47;DataNotesReadMe&#47;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&#47;DataNotesReadMe" /><param name="tabs" value="yes" /><param name="toolbar" value="yes" /><param name="static_image" value="https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;UC&#47;UCRArrests&#47;DataNotesReadMe&#47;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
 });

Любая помощь приветствуется!

...