Javascript код для вставки, который не останавливает рендеринг страницы - PullRequest
1 голос
/ 02 февраля 2010

Я бы хотел вставить номер с другой страницы. Удаленный вызов мал (возвращает только номер), но я бы хотел, чтобы страница продолжала загружаться, пока запрос отсутствует. Как я должен это делать? Я сейчас делаю

<span id="target">Loading ...</span>
<script>
var cb = function(data) {
    document.getElementById("target").innerHTML = data; 
}
</script>
<script src="http://webnumbr.com/webnumbrs.latest.json(callback=cb)"></script>

Я открыт для изменений на стороне клиента или на стороне сервера. Просто наименьший код для встраивания клиента лучше

Ответы [ 3 ]

1 голос
/ 02 февраля 2010

«Официальная» рекомендация (см. rules ) - поместить весь JavaScript в самый конец HTML-файла. Содержимое каждого тега будет оценено перед продолжением рендеринга, так как результат сценария может повлиять на дальнейший рендеринг (представьте себе document.write()).

1 голос
/ 02 февраля 2010

Честно,

Я думаю, что наилучшим способом может быть просто поместить ее в инструкцию onLoad(), чтобы она не загружалась до тех пор, пока документ полностью не отобразится. Это похоже на ответ Тома, но в этом случае вы устраните большинство проблем с DOM, с которыми вы столкнулись.

0 голосов
/ 02 февраля 2010

Я полагаю, что вы используете AJAX для загрузки содержимого с другой страницы при загрузке текущей страницы, убедитесь, что ваш AJAX-вызов асинхронный , и обновите элемент управления "webNumbr_webnumbrs" только после успешного завершения.

...