zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden PopUp und Auto-Resize-Grösse

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.07.2007, 15:29
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 08.03.2005
Ort: Nürnberg
Beiträge: 94
letslounge befindet sich auf einem aufstrebenden Ast
Standard PopUp und Auto-Resize-Grösse

Hallo,

ich verwende folgendes Script zur Anzeige von Bildern im PopUp:

In der aufrufenden Datei:
Head:
Code:
<script language="Javascript"> 
			function PopupPic(sPicURL) { 
				window.open("bilderpopup.htm?"+sPicURL, "", "resizable=1,HEIGHT=200,WIDTH=200");
			}
</script>
Aufruf über:
Code:
<a href="javascript:PopupPic('bild_gross.jpg')"><img src="bild.jpg" width="82" height="82" border="0"></a>
In der Datei die aufgerufen wird (das PopUp) und das Bild darstellt:
Code:
<HTML>
	<HEAD>
		<TITLE>Seitentitel</TITLE>
		<script language='javascript'>
			var temp=self.location.href.split("?");
			var picUrl = (temp.length>1)?temp[1]:"";
			var NS = (navigator.appName=="Netscape")?true:false;

			function fitPic() {
				iWidth = (NS)?window.innerWidth:document.body.clientWidth;
				iHeight = (NS)?window.innerHeight:document.body.clientHeight;
				iWidth = document.images[0].width - iWidth;
				iHeight = document.images[0].height - iHeight;
				window.resizeBy(iWidth, iHeight-1);
				self.focus();
			};
		</script>
	</HEAD>
	<BODY bgcolor="#FFFFFF" onload='fitPic();' onBlur="window.close()" topmargin="0" marginheight="0" leftmargin="0" marginwidth="0">
		<script language='javascript'>
			document.write( "<img src='" +picUrl +"' border=0>" );
		</script>
	</BODY>
</HTML>
...im IE funktioniert alles prächtig - das PopUp ändert sein Grösse auf die Grösse des Bildes.
Firefox allerdings stellt das PopUp nicht in der Bildgrösse dar wie gewünscht.

Hat jemand eine Idee wie ich das Script anpassen muss, dass die Anzeige auch im FF wieder korrekt ist?

Grüße und danke

Michael
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.07.2007, 15:55
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Ich vermute mal, weil Du die Initialisierung von NS nicht aufrufst.
Sie steht im <head>.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 03.07.2007, 16:19
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.03.2004
Beiträge: 1.843
RoToRa wird schon bald berühmt werden
Standard

Zitat:
Zitat von letslounge Beitrag anzeigen
Code:
<script language="Javascript">
language="Javascript" ist veraltet (bzw. war strenggenommen nie richtig). Stattdessen solte type="text/javascript" verwendet werden.

Zitat:
Code:
<a href="javascript:PopupPic('bild_gross.jpg')">
Auch die Verwendung von javascript:-"Protokol" wird missbiligt. Lieber:

Code:
<a href="bild_gross.jpg" onclick="PopupPic('bild_gross.jpg'); return false;">
dann funktioniert es auch für Benutzer ohne JavaScript.

Zitat:
Code:
			var temp=self.location.href.split("?");
			var picUrl = (temp.length>1)?temp[1]:"";
Die URL-Parameter werden in document.location.search freihaus geliefert, eigenes Parsen ist unnötig. Es muss nur das Fragezeichen vorne abgeschnitten werden:

Code:
var picUrl = document.location.search.substr(1);
Zitat:
Code:
			var NS = (navigator.appName=="Netscape")?true:false;
Browsersniffing ist in der Regel auch nicht gern gesehen.

Zitat:
Firefox allerdings stellt das PopUp nicht in der Bildgrösse dar wie gewünscht.
Hat jemand eine Idee wie ich das Script anpassen muss, dass die Anzeige auch im FF wieder korrekt ist?
Extras / Einstellungen / Inhalt / Erweitert (hinter "JavaScript aktivieren") / "Existierende Fenster verschieben oder Größe ändern" aktivieren.

Und nein, es gibt keine Methode das zu umgehen.

Robin
Mit Zitat antworten
  #4 (permalink)  
Alt 03.07.2007, 17:20
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Servus Robin,

bedeutet das, daß JS-Code in <head> ausgeführt wird ?
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #5 (permalink)  
Alt 03.07.2007, 17:27
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.03.2004
Beiträge: 1.843
RoToRa wird schon bald berühmt werden
Standard

Zitat:
Zitat von Scheppertreiber Beitrag anzeigen
bedeutet das, daß JS-Code in <head> ausgeführt wird ?
Ja. Warum sollte es nicht?

Robin
Mit Zitat antworten
  #6 (permalink)  
Alt 03.07.2007, 17:31
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Ok. Und wann wird der ausgeführt ? Beim Laden des Headers ?
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #7 (permalink)  
Alt 04.07.2007, 11:54
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.03.2004
Beiträge: 1.843
RoToRa wird schon bald berühmt werden
Standard

Ja. Script wird (egal wo es sich befindet) noch wärend des Ladens ausgeführt. Aber was hat das mit dieser Frage zutun?

Robin
Mit Zitat antworten
  #8 (permalink)  
Alt 04.07.2007, 11:59
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.457
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
Zitat von RoToRa Beitrag anzeigen
Ja. Script wird (egal wo es sich befindet) noch wärend des Ladens ausgeführt. Aber was hat das mit dieser Frage zutun?

Robin
Servus Robin,

irgendwie bin ich (gefühlsmäßig) davon ausgegangen, daß die Infos im <head> rein statisch
sind und nur reine Infos enthalten.

Der Zeitpunkt der Ausführung ist nicht unwichtig. Wenn sich der JS-Code auf
noch nicht als HTML geladene Elemente bezieht, funktioniert's nicht.

Mich hat's halt interessiert - wer nicht fragt bleibt dumm
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #9 (permalink)  
Alt 04.07.2007, 12:00
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 08.03.2005
Ort: Nürnberg
Beiträge: 94
letslounge befindet sich auf einem aufstrebenden Ast
Standard

Zitat:

Extras / Einstellungen / Inhalt / Erweitert (hinter "JavaScript aktivieren") / "Existierende Fenster verschieben oder Größe ändern" aktivieren.

Und nein, es gibt keine Methode das zu umgehen.

Robin
...das ist es wohl warums nicht so will wie es soll.
Danke an alle für die Beiträge!

Viele Grüße

Michael
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
IE7 Breitenproblem / Anzeige zu schmal (<div>)? hoi3008 CSS 19 10.02.2011 17:39
z-index hoch, dennoch grafik nicht ganz oben bergg CSS 6 27.10.2010 16:02
rätselhafter Leerraum zwischen Content und Footer im IE jhonnybravo CSS 5 04.03.2010 11:47
IE7 fixing - expandable menu matsie CSS 6 10.04.2008 15:55
CSS Layout im Dreamweaver skurril - online jedoch korrekt cellshade CSS 14 27.08.2007 15:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:56 Uhr.