Используйте Str()
Функция. Требуется три аргумента (число, общие символы числа для отображения, и количество десятичных разрядов для отображения
Select Str(12345.6789, 12, 3)
дисплеи: '12345.679' (3 пробелов, 5 цифр 12345, десятичная точка и три десятичных цифры (679). - это округляется, если это должно усечь, (если целая часть не является слишком большой для общего размера, в этом случае звездочки отображены вместо этого.)
для в общей сложности 12 символов, с 3 направо от десятичной точки.
У меня нет ссылки на него, но теги сценария обрабатываются по порядку, и поэтому, если вы поместите свой $ (документ) .ready (function1)
в тег сценария после Теги сценария, которые определяют функцию1 и т. д., вам должно быть хорошо.
<script type='text/javascript' src='...'></script>
<script type='text/javascript' src='...'></script>
<script type='text/javascript'>
$(document).ready(function1);
</script>
Конечно, другой подход - убедиться, что вы используете только один тег сценария в целом, путем объединения файлов как части процесса сборки . (Если вы не загружаете другие из CDN где-нибудь.) Это также поможет улучшить воспринимаемую скорость вашей страницы.
РЕДАКТИРОВАТЬ: Только что понял, что на самом деле я не ответил на ваш вопрос: Я не знаю ' не думаю, что есть кроссбраузерное событие, которое ' s уволен, № Если вы достаточно много работаете, см. ниже. Вы можете проверить символы и использовать setTimeout для перепланирования:
<script type='text/javascript'>
function fireWhenReady() {
if (typeof function1 != 'undefined') {
function1();
}
else {
setTimeout(fireWhenReady, 100);
}
}
$(document).ready(fireWhenReady);
</script>
... но вам не нужно этого делать, если вы правильно указали порядок тегов скрипта.
Обновление: вы можете получать уведомления о загрузке для скрипта
элементов, которые вы добавляете на страницу динамически, если хотите. Чтобы получить широкую поддержку браузера, вы должны сделать две разные вещи, но как комбинированный метод это работает:
function loadScript(path, callback) {
var done = false;
var scr = document.createElement('script');
scr.onload = handleLoad;
scr.onreadystatechange = handleReadyStateChange;
scr.onerror = handleError;
scr.src = path;
document.body.appendChild(scr);
function handleLoad() {
if (!done) {
done = true;
callback(path, "ok");
}
}
function handleReadyStateChange() {
var state;
if (!done) {
state = scr.readyState;
if (state === "complete") {
handleLoad();
}
}
}
function handleError() {
if (!done) {
done = true;
callback(path, "error");
}
}
}
По моему опыту, уведомление об ошибке ( onerror
) не является 100% кроссбраузерным. Также обратите внимание, что некоторые браузеры поддерживают оба механизма, поэтому переменная done
позволяет избежать дублирования уведомлений.
Обновление: вы можете получать уведомления о загрузке для элементов скрипта
, которые вы добавляете на страницу динамически, если хотите. Чтобы получить широкую поддержку браузера, вы должны сделать две разные вещи, но как комбинированный метод это работает:
function loadScript(path, callback) {
var done = false;
var scr = document.createElement('script');
scr.onload = handleLoad;
scr.onreadystatechange = handleReadyStateChange;
scr.onerror = handleError;
scr.src = path;
document.body.appendChild(scr);
function handleLoad() {
if (!done) {
done = true;
callback(path, "ok");
}
}
function handleReadyStateChange() {
var state;
if (!done) {
state = scr.readyState;
if (state === "complete") {
handleLoad();
}
}
}
function handleError() {
if (!done) {
done = true;
callback(path, "error");
}
}
}
По моему опыту, уведомление об ошибке ( onerror
) не является 100% кроссбраузерным. Также обратите внимание, что некоторые браузеры поддерживают оба механизма, поэтому переменная done
позволяет избежать дублирования уведомлений.
Обновление: вы можете получать уведомления о загрузке для элементов скрипта
, которые вы добавляете на страницу динамически, если хотите. Чтобы получить широкую поддержку браузеров, вы должны сделать две разные вещи, но как комбинированный метод это работает:
function loadScript(path, callback) {
var done = false;
var scr = document.createElement('script');
scr.onload = handleLoad;
scr.onreadystatechange = handleReadyStateChange;
scr.onerror = handleError;
scr.src = path;
document.body.appendChild(scr);
function handleLoad() {
if (!done) {
done = true;
callback(path, "ok");
}
}
function handleReadyStateChange() {
var state;
if (!done) {
state = scr.readyState;
if (state === "complete") {
handleLoad();
}
}
}
function handleError() {
if (!done) {
done = true;
callback(path, "error");
}
}
}
По моему опыту, уведомление об ошибке ( onerror
) не является на 100% кроссбраузерным. Также обратите внимание, что некоторые браузеры поддерживают оба механизма, поэтому переменная done
позволяет избежать дублирования уведомлений.
onerror
) не является 100% кроссбраузерным. Также обратите внимание, что некоторые браузеры поддерживают оба механизма, поэтому переменная done
позволяет избежать дублирования уведомлений. уведомление об ошибке ( onerror
) не является 100% кроссбраузерным. Также обратите внимание, что некоторые браузеры поддерживают оба механизма, поэтому переменная done
позволяет избежать дублирования уведомлений. Когда они говорят «Нижняя часть страницы», они буквально не имеют в виду нижнюю часть: они имеют в виду непосредственно перед закрывающим тегом
. Поместите туда свои скрипты, и они загрузятся до события DOMReady; разместите их после этого, и DOM будет готов до их загрузки (потому что он будет завершен после анализа закрывающего тега