Как работает jQuery.ajax ({url:’foo.js ‘, Тип данных: ‘script’, async:false}) отличается от document.write?

#javascript #jquery #ajax

#javascript #jquery #ajax

Вопрос:

Я надеялся использовать $.ajax({url:'foo.js', async:false, dataType:'script'}) для блокировки отображения содержимого, пока foo.js загрузился. Предполагалось, что синхронная загрузка скрипта примерно эквивалентна document.write . Я предполагаю, что это неверно, поскольку я все еще получаю FOUC.

Хотя я могу решить непосредственную проблему, скрыв элемент и показав его при загрузке скрипта, мне любопытно, чем синхронный $.ajax вызов отличается от document.write . Если вы случайно знаете способ добиться от jQuery блокировки контента, это тоже было бы интересно.

Спасибо!

Адам

Ответ №1:

Вы могли бы определить переменную / конструкцию в foo.js и дождитесь его определения.

Функция .load() может использоваться для ожидания загрузки определенного элемента:http://api.jquery.com/load /