Forenindex » Archiv » Perl und CGI » Fenster nach 10 Sekunden schliessen...

Fenster nach 10 Sekunden schliessen...

Moosbach
Beiträge gesamt: 385

23. Okt 2003, 22:09
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
hallo sabine und oli,
ich habe hier ein script für eine bannerverwaltung. in diesem script ist die funktion fenster nach 10 sekunden schliessen. aber ich finde sie irgendwie nicht und es funktioniert auch nicht. könnt ihr mir helfen?

<script language="JavaScript">
//-- allgemeiner teil --/
var startpoint=3000;
var Ads_ClickUrl = (Ads_ClickUrl)?Ads_ClickUrl:'';
if (!Ads_ClickUrl){
Ads_ClickUrl='http://internetseite.de';
startpoint=2000;
}
//-- /allgemeiner teil --/
var ie4=false;
var ns4= false;

var ie4 = (document.all)? true:false;
if ((parseInt(navigator.appVersion) >= 4) && (navigator.appName.indexOf("Netscape") >= 0)) ns4=true;

setTimeout("bannergo()", startpoint); function goon(){statdivObj.visibility="visible";
}

function bannergo (){
if(ie4){
Breite = document.body.clientWidth;
Hoehe = document.body.clientHeight;
fillcontvar();
statDivytarget = (Hoehe)-520;
statDivxtarget = 0;
bannerani();
}
}

function makediv (divname,divtop,divleft,divwidth,divheight,divindex,divcont){
document.body.insertAdjacentHTML('beforeEnd','<div id="'+divname+'" style="position:absolute; top:'+divtop+'px; left:'+divleft+'px; width:'+divwidth+'px; height:'+divheight+'px; z-index:'+divindex+'; visibility:hidden;">'+divcont+'</div>');
if (divname=="statDiv"){statdivObj=document.all.statDiv.style;
}
setTimeout("goon()",2000);
return;
}function bannerani (){
makediv ("statDiv",statDivytarget,statDivxtarget,Breite,430,200,statDivcont);}function fillcontvar(){

statDivcont="<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";
statDivcont+=" <tr>";
statDivcont+=" <td align=\"center\" rowspan=\"2\"><OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/...ab#version=5,0,0,0\" WIDTH=400 HEIGHT=400>";
statDivcont+=" <PARAM NAME=movie VALUE=\"flashdatei.swf?url="+escape(Ads_ClickUrl)+"\"> <PARAM NAME=quality VALUE=high> <PARAM NAME=wmode VALUE=transparent> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src=\"flashdatei.swf?url="+escape(Ads_ClickUrl)+"\" quality=high wmode=transparent bgcolor=#FFFFFF WIDTH=400 HEIGHT=400 TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/...ECT></td>";
statDivcont+=" </tr>";
statDivcont+=" </table>";
}

function close(){
statdivObj.visibility="hidden";
}
</script>
Kostenlose Kleinanzeigen bei
http://www.gebrauchter-Computer.de

Fenster nach 10 Sekunden schliessen...

SabineP
Beiträge gesamt: 7586

24. Okt 2003, 09:35
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
Matthias,

eine Funktion, die ein Browserfenster schließt ist da nicht dabei.

So geht das normalerweise (Browserfenster nach 10 Sekunden schließen):

<body onload="window.setTimeout('window.close()', 10000);">

Die Funktion "close" ganz unten in Deinem Script blendet nur eine Ebene aus.

function close(){
statdivObj.visibility="hidden";
}

Auf jeden Fall mußt Du den Namen dieser Funktion ändern, ansonnsten geht windows.close() nicht
Schreib´s so, dann funktionieren beide Scripte.

function weg(){
statdivObj.visibility="hidden";
}


Gruß Sabine

(Dieser Beitrag wurde von SabineP am 24. Okt 2003, 09:37 geändert)

Fenster nach 10 Sekunden schliessen...

Moosbach
Beiträge gesamt: 385

24. Okt 2003, 10:49
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
hallo sabine,
danke für deine antwort. nochmal ganz schnell. ich möchte den flashfilm ausblenden. das ist wohl der layer. aber er blendet sich nicht aus. wo kann ich denn in dem script die zeit einstellen, nachdem sich der flashfilm ausblendet?
gruss matthias

Fenster nach 10 Sekunden schliessen...

SabineP
Beiträge gesamt: 7586

24. Okt 2003, 11:20
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
Wie sieht denn der HTML-Code der Seite aus?
Ich kann nirgendwo erkennen, wann welche Funktion aufgerufen wird,
insbesondere die Funktion close()

Du willst also nur den Film nach einer bestimmten Zeit ausblenden?

Gruß Sabine

(Dieser Beitrag wurde von SabineP am 24. Okt 2003, 11:22 geändert)

Fenster nach 10 Sekunden schliessen...

Moosbach
Beiträge gesamt: 385

24. Okt 2003, 11:39
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
hi sabine,
es gibt keinen html teil. ich probiere gerade diese body zeile von dir. die muss ganz nach oben über das <script> oder?

Fenster nach 10 Sekunden schliessen...

SabineP
Beiträge gesamt: 7586

24. Okt 2003, 11:51
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
Also, wenn der Browser irgendetwas anzeigen soll, dann brauchst Du eine HTML-Seite dazu.

mindestens soetwas:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Titel</TITLE></HEAD>
<BODY></BODY>
</HTML>

Javscript allein genügt natürlich nicht.

Die Zeile ersetzt den Body-Tag Deiner HTML-Seite und ruft eine Funktion auf, die das Fenster schließt.

Gruß Sabine

(Dieser Beitrag wurde von SabineP am 24. Okt 2003, 11:52 geändert)

Fenster nach 10 Sekunden schliessen...

Moosbach
Beiträge gesamt: 385

24. Okt 2003, 12:05
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
doch es funktioniert nur mit dem scriptcode.
hier schau mal bei dieser datei geht die fensterschliessen funktion.
welchen teil muss ich da in die oben gezeigte datei einfügen.

<script language="JavaScript">
<!--

intClose = 15;


if(typeof(Ads_ClickUrl) == "undefined") Ads_ClickUrl = "http://www.falkag.de";

var objInterstitial= window.open("","Interstitial","toolbar=0,location=0,directories=0,status=0,menubar=0,scrolling=0,scrollbars=0,resizable=0,fullscreen=yes,screenX=0,screenY=0,top=0,left=0,height="+screen.height+",width="+screen.width);
function fnTestFlash(intSwfMin)
{
gbolFlash = false;

if(((navigator.appName == "Netscape") && (navigator.userAgent.indexOf("Mozilla") != -1) && (parseFloat(navigator.appVersion) >= 4) && (navigator.javaEnabled()) && navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin))
{
strPlugin = navigator.plugins['Shockwave Flash'].description;
strPlugin = strPlugin.substring(strPlugin.indexOf("."), -1);
strPlugin = strPlugin.substr(-1);
if(strPlugin >= intSwfMin)
gbolFlash = true;
}
else if(navigator.userAgent && navigator.userAgent.indexOf("MSIE")!=-1 && navigator.userAgent.indexOf("Windows")!=-1 && navigator.userAgent.indexOf("Windows 3")==-1 && document.all)
{
document.write('<scr'+'ipt language=VBScript>\n intCurVersion = 4\nintMinVersion = ' + intSwfMin + '\nDo\nOn Error Resume Next\n');
document.write('gbolFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & intCurVersion)))\n');
document.write('If gbolFlash = true Then Exit Do\nintCurVersion = intCurVersion - 1\nLoop While intCurVersion >= intMinVersion\n </scr'+'ipt>');
}
return gbolFlash;
}

function doInterstitial()
{
var strInterstitial = '<HTML>\n'
+ '<HEAD>\n\n'
+ '<TITLE>Click here!</TITLE>\n\n'
+ '</HEAD>\n\n'
+ '<BODY bgcolor="#ffffff" leftmargin=0 topmargin=0 marginwidth="0" marginheight="0" scroll="no">\n'
+ '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/...cab#version=4,0,2,0" width="100%" height="100%">\n\n'
+ '<param name="movie" value="popup_800x600.swf?url=' + escape(Ads_ClickUrl) + '">\n'
+ '<PARAM NAME=loop VALUE=false>\n'
+ '<PARAM NAME=menu VALUE=false>\n'
+ '<PARAM NAME=quality VALUE=high>\n'
+ '<PARAM NAME=scale VALUE=noborder>\n'
+ '<PARAM NAME=bgcolor VALUE=#ffffff>\n'
+ '<EMBED src="popup_800x600.swf?url=' + escape(Ads_ClickUrl) + '" loop=false menu=false quality=high scale=noborder bgcolor=#ffffff WIDTH=100% HEIGHT=100% TYPE="application/x-shockwave-flash PLUGINSPAGE="http://www.macromedia.com/...gi?P1_Prod_Version=' + 'ShockwaveFlash"></EMBED>\n'
+ '</object>\n\n'
+ '</BODY>\n'
+ '</HTML>\n';
objInterstitial.document.open();
objInterstitial.document.write(strInterstitial);
objInterstitial.document.close();
objInterstitial.focus();
setTimeout('doPopUpClose();',13000);
}
if(fnTestFlash(5))
{
window.setTimeout('doInterstitial();', 0);
}
else
{
var strInterstitial = '<HTML>\n'
+ '<HEAD>\n\n'
+ '<TITLE>Click here!</TITLE>\n\n'
+ '</HEAD>\n\n'
+ '<BODY bgcolor="#ffffff" leftmargin=0 topmargin=0 marginwidth="0" marginheight="0" scroll="no">\n'
+ '<a href="' + Ads_ClickUrl + '" border="_blank"><img src="popup_800x600.gif" border="0" alt="Hier klicken!" width="100%" height="100%"></a>'
+ '</BODY>\n'
+ '</HTML>\n';
objInterstitial.document.open();
objInterstitial.document.write(strInterstitial);
objInterstitial.document.close();
objInterstitial.focus();
}

function doPopUpClose()
{
objInterstitial.close();
}
// -->
</script>

Fenster nach 10 Sekunden schliessen...

SabineP
Beiträge gesamt: 7586

24. Okt 2003, 12:52
Bewertung:

gelesen: 4751

Beitrag als Lesezeichen
Im letzten Scriptcode wird ja auch der erforderliche HTML-Code erzeugt, das ist dann auch richtig.

function doInterstitial()
{
var strInterstitial = '<HTML>\n'
+ '<HEAD>\n\n'
+ '<TITLE>Click here!</TITLE>\n\n'
+ '</HEAD>\n\n'
+ '<BODY bgcolor="#ffffff"

........


In Deinem Script oben (erster Beitrag) fehlt der HTML-Code, es wird nur eine Tabelle erzeugt.

Du kannst Dein Script (erster Beitrag) ergänzen:

function close(){
statdivObj.visibility="hidden";
}

window.setTimeout("close()",10000);

</script>

mit

window.setTimeout("close()",10000);

wird die Funktion close nach 10 Sekunden aufgerufen.

close() blendet den Layer mit der Tabelle aus.

Allerdings ist mir inzwischen unklar, was Du machen willst.
Einmal schreibst Du, daß Du das Fenster schließen möchtest,
ein anderes mal schreibst Du, daß der Flash-Film ausgeblendet werden soll.

Gruß Sabine

(Dieser Beitrag wurde von SabineP am 24. Okt 2003, 12:53 geändert)