ich habe hier ein Popup, dass sich nach einer gewissen Zeit öffnet.
Funktioniert auch recht gut.
Hier mal der Code:
Im Header:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
closetime = 0; // Close window after __ number of seconds?
// 0 = do not close, anything else = number of seconds
function Start(URL, WIDTH, HEIGHT) {
windowprops = "left=50,top=50,width=" + WIDTH + ",height=" + HEIGHT;
preview = window.open(URL, "preview", windowprops);
if (closetime) setTimeout("preview.close();", closetime*1000);
}
function doPopup() {
url = "";
width = 1370; // width of window in pixels
height = 800; // height of window in pixels
delay = 2; // time in seconds before popup opens
timer = setTimeout("Start(url, width, height)", delay*1000);
}
// End -->
</script>
Im Body zum Öffnen:
<BODY OnLoad="doPopup();">
Jetzt habe ich aber ein Problem und weiß nicht wie ich es machen soll.
Ich möchte 2 Sachen noch haben.
Es soll sich im Hintergrund öffnen und nicht im Vordergrund.
Diesen Code wollte ich unterbringen, dass die Seite nur einmal pro Besuch aufgeht, nur leider klappt es nicht. Setze den Code glaube ich falsch:
[1]: Verwende preview.blur(); um das Fenster in den Hintergrund zu setzen.
[2]: Wo ist die Funktion showPopup();. In deinem Code finde ich keine Definition davon.
ich habe den code jetzt so eingebaut, dass im header die function ist und im body die load funktion.
Nun habe ich festgestellt, dass er mir die URL nicht öffnet sonder es wird meine Seite aufgemacht mit folgender URL: meinedomain.de/function URL() { [native code]}
jetzt hat es geklappt.
Vielen Dank dafür.
Nur noch ne kleine Frage, kann ich da Fenster auch gleich im Hintergrund laden lassen?
Denn es öffnet sich noch im Vordergrund.
Sollte eigentlich gehen, aber vielleicht funktioniert es wenn du ein window.focus(); noch hinten dran setzt. Eine Frage falls es nicht funktioniert welchen Browser verwendest du?
<script>
function loaded() {
if (is_first_view()) {
do_popup();
}
}
closetime = 60; // Close window after __ number of seconds?
// 0 = do not close, anything else = number of seconds
function start(url, width, height) {
windowprops = "left=50,top=50,width=" + width + ",height=" + width;
preview = window.open(url, "preview", windowprops); preview.blur(); window.focus();
if (closetime) setTimeout("preview.close();", closetime*1000);
}
function is_first_view() {
if(localStorage.getItem('firstview') != 'viewed'){
localStorage.setItem('firstview', 'viewed');
return true;
} else {
return false;
}
}
function do_popup() {
url = "";
width = 1370; // width of window in pixels
height = 800; // height of window in pixels
delay = 30; // time in seconds before popup opens
timer = setTimeout("start(url, width, height)", delay*1000);
}
// End -->
</script>
Funktioniert wunderbar, aber das Fenster öffnet sich noch immer im Vordergrung und verschwindet nach 1 Sekunde. Möchte aber, dass es sich gleich im Hintergrund öffnet ohne zu erscheinen. blur und focus habe ich drin.
Du kannst mal probieren das Popup Fenster zuerst mit der URL about:blank starten und nachdem du das Fenster in den Hintergrund gesetzt hast, kannst du dann die eigentlich URL laden.
Hat leider nicht geklappt.
Dann lass ich die erste version, da wird die Seite 1 Sekunde angzeigt und verschwindet dann.
Naja schade dass es nicht hin haut
So eine Möglichkeit, etwas im Hintergrund zu öffnen hab ich ja hier auch schon vergeblich gesucht: http://forum.byte-welt.net/threads/11260-Terminwecker
Daher am Ende mit einem kleinen Javaapplet im Systray gelöst.