lovelord
11-27-2009, 05:13 PM
Hi all,
I've implemented a fullscreen image banner with lightbox 2.04, this include cookie create/read/delete as described before, and varied just few thing to work with i.e. & firefox togheter (internet explorer got some struck issues on 2nd load with a cookie on board).
This modified script load banner JUST FIRST TIME, NOT IN REFRESHED PAGES, it reloads when session ends.
Tested on Internet Explorer 8.7600.16385 and Firefox 3.5.5 on Windows 7
I don't get any credit for all the source, just for changes inside.
my banner image is called: email.png
my banner id is called: popup
PS: I'm italian, so some tagged code is in italian :p
open and edit lightbox.js
find
document.observe('dom:loaded', function () { new Lightbox(); });
replace with
// CREAZIONE - LETTURA - CANCELLAZIONE COOKIE SESSIONE BANNER POPUP
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
// FINE ELAB. COOKIE SESSIONE
// CREO IL LIGHTBOX, SE NON E' PRESENTE IL COOKIE CLICCO, ALTRIMENTI NON CLICCO
document.observe('dom:loaded', function () { if(!readCookie('firstlight')){ myLightbox = new Lightbox();
createCookie('firstlight','firstlight');
cliccoLightbox = 1;
var firstLight=document.getElementById('popup');
firstLight.onclick.apply(firstLight);
}
else
{cliccoLightBox = 0;}
; });
open now your index.html (or what's for)
into <head> tags insert
<!-- INIZIO - GESTIONE BANNER AVVISI - POPUP CON LIGHTBOX !-->
<script type="text/javascript">
var cliccoLightbox ;
</script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<script type="text/javascript">
function LoadImage()
{if (cliccoLightbox == 1)
{document.getElementById('popup').click();}
}
if (document.createEvent )
{
HTMLElement.prototype.click = function()
{
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}
}
</script>
<!-- FINE - GESTIONE BANNER AVVISI - POPUP CON LIGHTBOX !-->
into your <body> tag insert
onLoad="LoadImage();"
between your <body> </body> tags insert
<!-- GESTIONE POPUP !-->
<a id="popup" href="images/email.png" rel="lightbox" title="<a href='http://www.google.it/'>GO ON GOOGLE!</a>"></a>
<!-- FINE GESTIONE POPUP !-->
That's all,
hope it could help someone,
Thanks all !
Lovelord
I've implemented a fullscreen image banner with lightbox 2.04, this include cookie create/read/delete as described before, and varied just few thing to work with i.e. & firefox togheter (internet explorer got some struck issues on 2nd load with a cookie on board).
This modified script load banner JUST FIRST TIME, NOT IN REFRESHED PAGES, it reloads when session ends.
Tested on Internet Explorer 8.7600.16385 and Firefox 3.5.5 on Windows 7
I don't get any credit for all the source, just for changes inside.
my banner image is called: email.png
my banner id is called: popup
PS: I'm italian, so some tagged code is in italian :p
open and edit lightbox.js
find
document.observe('dom:loaded', function () { new Lightbox(); });
replace with
// CREAZIONE - LETTURA - CANCELLAZIONE COOKIE SESSIONE BANNER POPUP
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
// FINE ELAB. COOKIE SESSIONE
// CREO IL LIGHTBOX, SE NON E' PRESENTE IL COOKIE CLICCO, ALTRIMENTI NON CLICCO
document.observe('dom:loaded', function () { if(!readCookie('firstlight')){ myLightbox = new Lightbox();
createCookie('firstlight','firstlight');
cliccoLightbox = 1;
var firstLight=document.getElementById('popup');
firstLight.onclick.apply(firstLight);
}
else
{cliccoLightBox = 0;}
; });
open now your index.html (or what's for)
into <head> tags insert
<!-- INIZIO - GESTIONE BANNER AVVISI - POPUP CON LIGHTBOX !-->
<script type="text/javascript">
var cliccoLightbox ;
</script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<script type="text/javascript">
function LoadImage()
{if (cliccoLightbox == 1)
{document.getElementById('popup').click();}
}
if (document.createEvent )
{
HTMLElement.prototype.click = function()
{
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}
}
</script>
<!-- FINE - GESTIONE BANNER AVVISI - POPUP CON LIGHTBOX !-->
into your <body> tag insert
onLoad="LoadImage();"
between your <body> </body> tags insert
<!-- GESTIONE POPUP !-->
<a id="popup" href="images/email.png" rel="lightbox" title="<a href='http://www.google.it/'>GO ON GOOGLE!</a>"></a>
<!-- FINE GESTIONE POPUP !-->
That's all,
hope it could help someone,
Thanks all !
Lovelord