PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 4.0.7
Visualizer – Tables & Charts Manager with Built-in AI Generator v4.0.7
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
← All changes | classes/Visualizer/Module/Frontend.php +11 -5 4.0.44.0.7 View file →
@@ -802,16 +802,22 @@
802 802 }
803 803
804 804 function visualizerLoadScripts() {
805 805 document.querySelectorAll("script[data-visualizer-script]").forEach(function(elem) {
806 - jQuery.getScript( elem.getAttribute("data-visualizer-script") )
807 - .done( function( script, textStatus ) {
808 - elem.setAttribute("src", elem.getAttribute("data-visualizer-script"));
809 - elem.removeAttribute("data-visualizer-script");
806 + // Replace the placeholder with a real script tag using async=false:
807 + // scripts download in parallel but execute in insertion order, which
808 + // preserves the WordPress dependency order. Parallel jQuery.getScript
809 + // calls could execute render-facade.js before the chart renderer had
810 + // registered its render event listener, leaving charts blank.
811 + var script = document.createElement("script");
812 + script.src = elem.getAttribute("data-visualizer-script");
813 + script.async = false;
814 + script.onload = function() {
810 815 setTimeout( function() {
811 816 visualizerRefreshChart();
812 817 } );
813 - } );
818 + };
819 + elem.parentNode.replaceChild(script, elem);
814 820 });
815 821 }
816 822
817 823 function visualizerRefreshChart() {