Synchroniczne XMLHttpRequest w głównym wątku jest przestarzałe ze względu na jego szkodliwy wpływ na środowisko użytkownika końcowego.
Próbowaliśmy dołączyć plik jquery osi czasu, jak poniżej, z HTML (dynamiczne wstrzykiwanie danych), ale otrzymuję ten „Problem synchroniczny”. Czy istnieje sposób, aby dołączyć bibliotekę osi czasu w HTML!
var contentli = '<script async="async" src="/assets/js/timeline/horizontal_timeline.min.js" ><\/script><script>$("#example").horizontalTimeline({dateDisplay: "monthYear",useFontAwesomeIcons: true,});<\/script> <div class="cd-horizontal-timeline" id="example"><div class="events-content"><ol>';
contentli += '</ol></div></div>';
$("#timelineH").empty();
$( contentli ).insertAfter( "#timelineH" );
1 odpowiedź
Gdy jQuery wstawia kod HTML zawierający tag <script>
, który ładuje zewnętrzny skrypt, zamienia go w synchroniczne żądanie AJAX w celu odczytania pliku, a następnie wywołuje eval()
w celu wykonania. To powoduje wyświetlenie ostrzeżenia o wycofaniu.
Możesz użyć $.getScript()
, aby załadować skrypt asynchronicznie, a następnie wykonać wywołanie zwrotne po zakończeniu ładowania.
$.getScript("/assets/js/timeline/horizontal_timeline.min.js", function() {
$("#timelineH").html('<div class="cd-horizontal-timeline" id="example"><div class="events-content"><ol></ol></div></div>');
$("#example").horizontalTimeline({dateDisplay: "monthYear",useFontAwesomeIcons: true,});
});
Podobne pytania
Nowe pytania
jquery
jQuery to biblioteka JavaScript, rozważ także dodanie tagu JavaScript. jQuery to popularna biblioteka JavaScript działająca w różnych przeglądarkach, która ułatwia przechodzenie przez Document Object Model (DOM), obsługę zdarzeń, animacje i interakcje AJAX, minimalizując rozbieżności między przeglądarkami. Pytanie oznaczone tagiem jQuery powinno być powiązane z jQuery, więc jQuery powinno być używane przez dany kod i przynajmniej elementy związane z użyciem jQuery muszą znajdować się w pytaniu.