popup maximiert die 2798te (und doch nicht geklappt)
Andreas Riedl
- javascript
Hallo Forum...
Jetzt hab' ich den ganzen Tag damit verbracht, hier die Threads on- und offline zu durchforsten, bin aber trotzdem nicht weitergekommen.
Problemstellung (altbekannt):
- "Browser, öffne mir doch bitte auf einen Klick hin ein neues Fenster, welches auf X/Y=0/0 steht, die maximale Bildschirmauflösung nutzt und URL "dingsbums.html" beinhaltet.
Lösung:
- bestimmt vielen bekannt, aber nicht mir!
Mein JS-Code im Head ist bisher folgender:
----//snip//----
<script type="text/javascript" language="JavaScript">
<!--
function newmax()
{
newmax=window.open('url','name','einstellungen');
newmax.resizeTo(screen.availWidth, screen.availHeight);
newmax.moveTo(0,0);
}
//-->
</script>
----//snip//----
Der Aufruf folgt dann weiter unten im Body:
----//snip//----
<a href="javascript:newmax('dingsbums.html','dingsed','directories=1,location=1,menubar=1,scrollbars=0,status=1,toolbar=1')"> <img src="../grafx/dingsed.gif" width=200 height=60 border=0 alt="zu Seite Dingsbums">
</a>
---//snip//----
Warum zum Geier findet der Mistkerl die URL nicht, wenn die Seite, in der o.a. Code steht und die Seite, die in das neue Window geladen werden soll in ein und demselben Verzeichnis stehen?
Btw: morgen um 13.30h soll ich die Lösung präsentieren... *heul*
Ich hoffe, dass da draussen irgendein Crack sitzt, der nur über mich schmunzeln kann und sich herablässt, mir zu helfen. ;)
so long
Andreas
Hi!
Ich hoffe, dass da draussen irgendein Crack sitzt, der nur über mich schmunzeln kann
Das nicht...
»»und sich herablaesst, mir zu helfen. ;)
...aber das :-)
Fuer die Funktion newmax werden keine Argumente definiert. Richtig muss der Funktionskopf also heissen:
function newmax(url,name,einstellungen)
...
Der Inhalt der Funktion muss folgendermassen abgeaendert werden:
neufenster=window.open(url,name,einstellungen);
neufenster.resizeTo(screen.availWidth, screen.availHeight);
neufenster.moveTo(0,0);
Ich habe den Variablennamen abgeaendert, damit es nicht zu Kollisionen mit dem Funktionsnamen kommt.
MfG Simon
Fuer die Funktion newmax werden keine Argumente definiert. Richtig muss der Funktionskopf also heissen:
function newmax(url,name,einstellungen)
...Der Inhalt der Funktion muss folgendermassen abgeaendert werden:
neufenster=window.open(url,name,einstellungen);
neufenster.resizeTo(screen.availWidth, screen.availHeight);
neufenster.moveTo(0,0);Ich habe den Variablennamen abgeaendert, damit es nicht zu Kollisionen mit dem Funktionsnamen kommt.
MfG Simon
Simon, Du bist ein Genie!!!
wenn Du mir jetzt auch noch erklären kannst, wie selbiges mit Netscape funzt, dann knie ich mich nieder und küsse Deine VIRTUELLEN Füsse! ;)))
mfG
Andreas
Hi!
Simon, Du bist ein Genie!!!
Da sagst Du mir nichts neues.
wenn Du mir jetzt auch noch erklären kannst, wie selbiges mit Netscape funzt, dann knie ich mich nieder und küsse Deine VIRTUELLEN Füsse! ;)))
Bitte nicht! Ausserdem weiss ich gar nicht, was Du hast: bei mir funzt es mit beiden Browsern (ns 4.7).
Was kriegst Du denn fuer eine Fehlermeldung?
MfG Simon
Bitte nicht! Ausserdem weiss ich gar nicht, was Du hast: bei mir funzt es mit beiden Browsern (ns 4.7).
Was kriegst Du denn fuer eine Fehlermeldung?MfG Simon
Hi
NS macht alles richtig (neues Window, linke, obere Ecke, URL öffnen), ausser, dass er mir das Fenster nicht über den gesamten Screen zieht.
Frag mich mal, warum...
mfG
Andreas
Hallo Forum...
Jetzt hab' ich den ganzen Tag damit verbracht, hier die Threads on- und offline zu durchforsten, bin aber trotzdem nicht weitergekommen.
Problemstellung (altbekannt):
- "Browser, öffne mir doch bitte auf einen Klick hin ein neues Fenster, welches auf X/Y=0/0 steht, die maximale Bildschirmauflösung nutzt und URL "dingsbums.html" beinhaltet.Lösung:
- bestimmt vielen bekannt, aber nicht mir!Mein JS-Code im Head ist bisher folgender:
----//snip//----
<script type="text/javascript" language="JavaScript">
<!--function newmax()
{
»» newmax=window.open('url','name','einstellungen');
»» newmax.resizeTo(screen.availWidth, screen.availHeight);
»» newmax.moveTo(0,0);
}
//-->
</script>----//snip//----
Der Aufruf folgt dann weiter unten im Body:
----//snip//----
<a href="javascript:newmax('dingsbums.html','dingsed','directories=1,location=1,menubar=1,scrollbars=0,status=1,toolbar=1')"> <img src="../grafx/dingsed.gif" width=200 height=60 border=0 alt="zu Seite Dingsbums">
</a>---//snip//----
Warum zum Geier findet der Mistkerl die URL nicht, wenn die Seite, in der o.a. Code steht und die Seite, die in das neue Window geladen werden soll in ein und demselben Verzeichnis stehen?
Btw: morgen um 13.30h soll ich die Lösung präsentieren... *heul*
Ich hoffe, dass da draussen irgendein Crack sitzt, der nur über mich schmunzeln kann und sich herablässt, mir zu helfen. ;)
so long
Andreas
Hi Andreas,
ich würde einfach mal sagen, das folgende Zeile in deinem Script dein Problem ist
»» newmax=window.open('url','name','einstellungen');
die sollte so heissen
function newmax(url,name,einstellungen)
{
»» newmax=window.open(url,name,einstellungen);
»» newmax.resizeTo(screen.availWidth, screen.availHeight);
»» newmax.moveTo(0,0);
}
du musst die parameter mit an die funktion übergeben und dann ohne
Anführungszeichen referenzieren (d.h. in window.open benutzen)
anbei eine etwas, vielleicht komplexere funktion, die (für Dich vielleicht unnützer Weise)
einen extra parameter nehmen KANN (der letzte: "position:middle")
damit kann man das fenster mittig positionieren
vielleicht ein anderes feature der funktion das Du gebrauchen könntest
ist, dass es das fenster erst nach ca. 100 ms öffnet und dem dann den focus gibt,
(nach ca. 100 ms hat der user die maustaste schon das zweite mal geklickt) da ich mal das problem hatte
das wenn der user auf den link, der das fenster öffnet, DOPPEL-klickt und das fenster sich nicht
direkt unter der maus öffnet bekommt das vorherige fenster wieder den focus und das neu geöffnete
fenster verschwindet dahinter...
aber vielleicht schiesse ich hier ja mit kanonen auf spatzen,
ich hoffe trotzdem geholfen zu haben....
cain
------------------------------------------------------------------------------------
PS: die funktion "parseParameters" ist nur eine kleine hilfsfunktion
ein möglicher aufruf:
onclick ='openNewWindow("../info/info.htm","InfoFenster","width=400,height=400","position:middle")'
------------------------------------------------------------------------------------
/////////////////////////////////////////////////////
//
// opens a new window using JS-function open
//
function openNewWindow(src,name,paras,addParas)
{
aParameters = new Array();
aParameters = parseParameters(paras,new Array(",","="));
if(addParas) // any additional parameters?
{
// add additional parameters to paras
if(addParas.match(/position:middle/))
{
paras = paras.concat( ",left="+parseInt(screen.width/2-aParameters['width']/2)+","+
"top="+parseInt(screen.height/2-aParameters['height']/2));
}
}
/////////////////////////////////
//
// finally open the window
//
__newWins[__winNum] = open(src,name,paras);
setTimeout("__newWins["+(__winNum++)+"].focus()",100);
}
__newWins = new Array();
__winNum = 0;
/////////////////////////////////////////////////////
//
// parses a parameter list like: "width:100px; left:300px;"
// and returns an array: aParameters["width"] = 100
// aParameters["left"] = 300
//
// parameters: aSplitChar - is an array, which contains the characters that devide the different
// parameters and their values
// using the example above, it would be
// aSplitChar[0] = ";"
// aSplitChar[1] = ":"
//
function parseParameters(paras,aSplitChar)
{
var a;
aParameters = new Array();
aParas = paras.split(aSplitChar[0]);
for( a=0 ; a<aParas.length ; a++ )
{
aSplit = aParas[a].split(aSplitChar[1]);
aParameters[aSplit[0]] = parseInt(aSplit[1]);
}
return aParameters;
}
------------------------------------------------------------------------------------