Datenschutzerklärung

Funktion, die eine Variable speichert, die für das gesamte Dokument gü

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

Funktion, die eine Variable speichert, die für das gesamte Dokument gü

  Beitrag schreiben
Autor
Beitrag Seiten: 1
dr. orange
Gast



---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
  Zitieren
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
  Zitieren
dr. orange
Gast



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
  Zitieren
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
  Zitieren
dr. orange
Gast



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
  Zitieren
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
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01