Добавить flash на весь экран при загрузке сайта можно например так.

Заставка должна открываться один раз при открытии сайта. Значит нужно запоминать это событие в сессии.

$session = JFactory::getSession();
$first = $session->get('first', 1);

Flash разместим в блок div с id #new2012 и в параметрах flash зададим ширину и высоту 100%, для блока в котором находится flash будем задавать размер окна браузера при событии onresize.

Поместим блок с flash в обертку #new2012wrap и в нее же ссылку для закрытия заставки. Для всего этого задаем абсолютное позиционирование.

В результате получается такой код.

Для head страницы:

<?php
$session = JFactory::getSession();
$first = $session->get('first', 1);
 
if ($first){
?>
 
<style type="text/css">
html{
overflow:hidden;
}
#new2012{
position:absolute;
z-index:10000;
width:100%;
background:#fff;
}
#new2012wrap{
position:absolute;
top:0;
left:0;
width:100%;
z-index:9999;
background:#fff;
}
#close{
position:absolute;
display:block;
width:200px;
height:50px;
line-height:50px;
top:20px;
 
z-index:11000;
cursor:pointer;
color:#fff;
font-family:Verdana;
background:transparent;
font-size:18px;
}
</style>
<script type="text/javascript">
window.addEvent('domready', function() {
//setTimeout("el.style.display = 'none'", 7000);
resizeflash();
window.onresize= resizeflash;
});
 
function resizeflash()
{
var elwrap = document.getElementById('new2012wrap');
var elclose = document.getElementById('close');
var el = document.getElementById('new2012');
 
var w = getClientWidth();
var h = getClientHeight();
 
var w = getClientWidth();
var fl = document.getElementById('fl');
fl.setAttribute("width", w);
fl.setAttribute("height", h);
 
elclose.style.left = (w-elclose.clientWidth)/2+'px';
 
elwrap.style.left = '0px';
el.style.left = '0px';
 
elwrap.style.width = w+'px';
elwrap.style.height = h+'px';
el.style.width = w+'px';
el.style.height = h+'px';
}
function getClientHeight()
{
 
return document.compatMode=='CSS1Compat' ? (document.documentElement.clientHeight):document.body.clientHeight;
}
function getClientWidth()
{
return document.compatMode=='CSS1Compat' ? document.documentElement.clientWidth:document.body.clientWidth;
}
function closeblock()
{
 
var b = document.getElementsByTagName('html');
 
b[0].style.overflow = 'auto';
var elwrap = document.getElementById('new2012wrap');
elwrap.style.display = 'none';
}
 
</script>
 
<?php
}
 
?>

После тэга body добавляем html код с заставкой:

<?php
if ($first){
?>
<div id="new2012wrap">
<img src="images/button_ng.png" id="close" onclick="closeblock();" />
<!-- <a href="#" id="close" onclick="closeblock();">Перейти на сайт</a> -->
<div id="new2012">
<object id="fl" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="100" width="100"><param name="wmode" value="opaque" /><param name="quality" value="high" /><param name="movie" value="images/flash/domik-3.swf" /><embed wmode="opaque" height="100%" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="images/flash/domik-3.swf" type="application/x-shockwave-flash" width="100%"></embed></object>
</div></div>
 
<script type="text/javascript">
var elwrap = document.getElementById('new2012wrap');
var el = document.getElementById('new2012');
 
var w = getClientWidth();
var h = getClientHeight();
 
elwrap.style.width = w+'px';
elwrap.style.height = h+'px';
el.style.width = w+'px';
el.style.height = h+'px';
</script>
 
<?php
}
if ($first){
	$session->set('first', 0);
}
?>

Заставка будет закрываться при клике по ссылке Перейти на сайт.

Чтобы она закрывалась через заданный промежуток времени, нужно использовать функцию setTimeout для события domready.

Вариант для mootools:

window.addEvent('domready', function() {
    setTimeout("closeblock", 7000);
});

 

Комментарии   

#8 Николай 02.09.2014 16:15
Цитирую sanatan:
Добрый день! Есть плагин для джумла SplashR. Работает в браузерах Опера, Мазила, ИЕ. Только в хроме при настройках "одна сессия(не повторяет заставку в пределах одной сессии. после закрытия браузера сессия прекращается. Заставка появляется заново при новой сессии)" перестает показывать заставку. Не подскажите решение?

Так сложно сказать, нужно разбираться с кодом плагина.
#7 sanatan 01.09.2014 08:52
Добрый день! Есть плагин для джумла SplashR. Работает в браузерах Опера, Мазила, ИЕ. Только в хроме при настройках "одна сессия(не повторяет заставку в пределах одной сессии. после закрытия браузера сессия прекращается. Заставка появляется заново при новой сессии)" перестает показывать заставку. Не подскажите решение?
#6 Макс 09.09.2013 11:52
Помогите пожалуйста написать код для заставки при загрузке сайта, у меня не получается.
вот сам код заставки:










очень Вас прошу, помогите!
#5 Николай 18.06.2013 08:09
Цитирую Дмиьрий:
Чтобы она закрывалась через заданный промежуток времени, нужно использовать функцию setTimeout для события ""domredy""
исправьте пожалуйста domredy на domready, через поиск по тексту не сразу понятно где надо убрать комментирование строки, заранее спасибо

Исправил
#4 Дмиьрий 18.06.2013 07:30
Чтобы она закрывалась через заданный промежуток времени, нужно использовать функцию setTimeout для события ""domredy""
исправьте пожалуйста domredy на domready, через поиск по тексту не сразу понятно где надо убрать комментирование строки, заранее спасибо
#3 Максим 22.11.2012 06:27
Подскажите пожалуйста как сделать плавный переход на сайт, а не резкий? Т.е. ролик заканчивается и блок с роликом резко закрывается и появляется сайт, а как сделать медленное закрытие ролика?
#2 Николай 09.11.2012 05:57
А в каком браузере проблема в firefox не заметил.
#1 Максим 08.11.2012 08:47
У меня проблема возникает, когда срабатывает функция закрытия оверлея на сайте добавлен ещё дополнительный кусок сайта ниже. Сам сайт у меня резиновый без прокрутки...Рез ультат можете глянуть тут - bayakov.kz

Чтобы сделать комментарий, нужно авторизоваться на сайте!