Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Действие после полной загрузки (https://javascript.ru/forum/misc/1832-dejjstvie-posle-polnojj-zagruzki.html)

Воитель 23.09.2008 12:15

Действие после полной загрузки
 
Здравствуйте.
Передомной встала задача: Разместить на сайте тяжёлую флэшку, какой-то особой цели у неё нет-просто для красоты.
Решить эту задачу я решил особым способом: После полной загрузки страницы вроде это onLoad событие, запустить загрузку этой флэшки.
Примерный вес страницы 200 Кб, примерный вес флэшки 200 Кб.
Реализовать это по моему можно только двумя способами
1)через ЖС
2)через связь ЖС и ActionScript.
Как это сделать через второй вариант представляю:
Изначально загружаемую флэшку сделать лёгкой, вся страница грузится и ЖС отправляет этой флэшке переменную значение которой открывает во флэшке загрузку её элементов(картинок, вообще вся флэшка это плавная смена одних картинок другими) Но этот способ не рационален.
А как это сделать чисто на JS не знаю.

ZoNT 23.09.2008 12:21

не понимаю, зачем тебе скрипты?
Если ты собрался всё равно грузить флэшку, то ставь её в конце документа и позиционирую абсолютно куда тебе надо. Соотвтественно она начнёт грузится после того как загрузится вся страница.
А если хочешь сделать маленький загрузчик,так тебе тоже не надо сриптов.
Ставь этот загрузчик где угодно и грузи потихоньку контент. Просто разницы не будет: или ты загрузил быстро страницу, а потом долго грузишь флэшку и у пользователя ощущение что страница долго грузится (ему насрать флэшка это или просто картинка - он не различает), либо ты загружаешь параллельно и флэшку и страничку, но в сумме то же время и выйдет...

Octane 23.09.2008 20:30

Как то так:
function flashInsert(id, url, width, height, flashvars) {
	var banner = document.getElementById(id);
	if(1 /*@cc_on - 1 @*/) {
		var obj = document.createElement('object'), param = document.createElement('param');
		obj.type = 'application/x-shockwave-flash';
		obj.height = height;
		obj.width = width;
		obj.data = url;
		param.name = 'wmode';
		param.value = 'transparent';
		obj.appendChild(param);
		if(flashvars) {
			param = document.createElement('param');
			param.name = 'flashvars';
			param.value = flashvars;
			obj.appendChild(param);
		}
		banner.appendChild(obj);
	}
	else {
		banner.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + width + '" height="' + height + '"><param name="movie" value="' + url + '" /><param name="wmode" value="transparent" />' + (flashvars ? '<param name="flashvars" value="' + flashvars + '" />' : '')  + '</object>';
	}
}

window.onload = function() {
	flashInsert('идентификатор_контейнера', 'адрес_swf_файла', ширина, высота, 'передаваемые_параметры_flashvars');
};

Не факт, что будет работать :-) выдерал из большого скрипта прямо в форум.

Воитель 23.09.2008 22:52

Спасибо, как раз то что надо

Kolyaj 02.10.2008 18:20

Цитата:

Сообщение от Воитель
Примерный вес страницы 200 Кб, примерный вес флэшки 200 Кб.

Ппц.


Часовой пояс GMT +3, время: 08:12.