|
|
---intro--- ja, ich crossposte gerade, aber es ist sehr wichtig und ein ungeschriebenes gesetz sagt, dass crossposting erlaubt ist wenn value.importance >=4 ist, und das ist in meinem Fall so... :-D
---Vorgeschichte--- Hallo allerseits! ein schlauer Mensch hier im Forum hat mich auf eine Idee gebracht, die ich umbedingt umsetzen will in meinem Dokument. Allerdings habe ich alles Java Script spezifische wieder vergessen, der Kurs, den ich gemacht habe ist auch schon ein paar Jahre her. Ich werde es wieder aufarbeiten, jedoch brauche ich schnell eine Lösung und habe im Moment auch keine Zeit...
---jetzt gehts los--- Das zentrale Problem liegt im Speichern selbst. Das Script soll einen Betrag in einer Variabeln speichern, der den Unterschied zwischen screen.width und screen.availwidth beträgt. Weiter das gleiche auch mit der Höhe... Ich könnte mir vorstellen, dass der erste Teil in etwa so ausschaut:
<script type="text/javascript"> (screen.height - screen.availHeight) ??storeTo y?? (screen.width - screen.availWidth) ??storeTo x?? </script>
später dann im <body>: <p onClick="window.open(blabla ,top=(0 + y), left='(0 + x)' blabla)>
Ich bin für jeden sinnvollen Beitrag dankbar
|
|
| 05.10.2005 16:36:27 |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, mir ist nicht ganz klar ob mit windows.open ein Fenster in der berechneten Grösse geöffnet, oder ob diese Grössenangaben an die im neuen Fenster anzuzeigende Seite übergeben werden soll? Ihr Beispiel sieht eher nach Letzeren aus, wenn auch die Syntax absolut fehlerhaft ist. Ich bitte um Klärung und schon kommt eine Lösung ins Haus geflattert ;-)
mfg Thomas Mell
|
|
| 05.10.2005 23:49:40 |
|
|
|
Lieber Herr Mell, die gespeicherten Werte sollen die Position bestimmen, wo das Popup aufgehen soll. Je nachdem, wo die Windows' Taskleiste positioniert ist und in welchem Zustand sie sich befindet wäre dies ein anderer Wert.
Zur verfollständigung hier der ganze Code mitsamt Fehlern und ohne "blabla" :-D <p style='cursor:pointer' onClick="window.open('Datei.pdf','Bezeichnung','height='+screen.height+', width='+(screen.width - 505)+', top=0, left=496, scrollbars=yes, resizable=yes')">Linkbezeichnung</p>
Sie haben sehr wahrscheinlich recht bezüglich der Fehlerhaftigkeit im Syntax. Ich habe gestern bestimmt eine Stunde probiert herauszufinden, wo sich hier der Fehler Befindet: 'height='+screen.availHeight+', width='+(screen.availWidth - 450)+', top=0, left=450, scrollbars=yes, resizable=yes'
<p style='cursor:pointer' onClick="window.open('Datei.pdf','Bezeichnung','height='+screen.availHeight+', width='+(screen.availWidth - 450)+', top=0, left=450, scrollbars=yes, resizable=yes')">Linkbezeichnung</p>
wobei der eben erwähnte Code ja mit dem Script, wonach ich in diesem Thread frage, nicht mehr zustande kommen würde; die Syntaxfehler wahrscheinlich aber schon...
Herzlichen Dank für Ihre Bemühungen
|
|
| 06.10.2005 07:41:20 |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, hier ist der Code. Ich hoffe das er ausreichend Dokumentiert ist.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function openWin() {
// Da nicht festzustellen ist ob sich die Taskbar oben oder unten befindet,
// wird die Höhe um 2 x Taskbarhöhe reduziert. Somit befindet sich das Fenster
// immer zwischen den beiden imaginären Taskbars
var height = screen.Height;
var top = height - screen.availHeight;
var maxHeight = height - 2 * top;
// Abzüglich der Rahmen und Titelkopfhöhe
maxHeight-= 30;
// Das selbe Spiel mit der Breite...
var width = screen.Width;
var maxWidth = width - 2 * (width - screen.availWidth);
// Die gewünschte Breite des neuen Fensters
var winWidth = 500;
// Den left-Wert für das neue Fenster berechnen, damit es zentriert ist
var left = (maxWidth - winWidth) / 2;
// Das Fenster öffnen
window.open('http://www.heise.de', 'neuesFenster', 'height=' + maxHeight + ',width=' + winWidth + ',top=' + top + ',left=' + left + ',menubar=no,location=no,status=no,toolbar=no,scrollbars=yes,resizable=yes');
}
</script>
</head>
<body>
<p style='cursor:pointer' onClick="openWin()">Linkbezeichnung</p>
</body>
</html> |
mfg Thomas Mell
|
|
| 06.10.2005 22:02:47 |
|
|
|
Danke vielmals Validome, dein Script hat mir geholfen, auch wenn ich es leicht abgeändert hab. Die Dokumehtation ist prima! Wäre es eventuell möchlich, bei
<p style='cursor:pointer' onClick="openWin()">Linkbezeichnung</p>
zu bewerkstelligen, dass ein Wert an die Funktion gesandt wird? Der Wert wäre ein Dateipfad, sodass ich nicht für jeden Link ein eigenes Script schreiben muss und die Datei so unnötig gross wird...
Danke für deine Hilfe!
|
|
| 07.10.2005 11:24:04 |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, kein Problem: onClick="openWin('http://meinedomain.de/test.pdf')" . function openWin(file) ( . . window.open(file, 'neuesFenster',...
mfg Thomas Mell
|
|
| 07.10.2005 13:23:30 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|