Seite 1 von 1

Backend: Klappen im Frame unten links geht mit Opera nicht

Verfasst: Mi 28. Dez 2005, 20:23
von Stefan_Br
Das Auf- und Zuklappen der verschiedenen Ansichten z.B. in der Modulliste per JS geht mit Opera nicht.

Lösung:
cfoldingrow.js so ändern, dass sie folgendermaßen lautet:

Code: Alles auswählen

/*****************************************
* File      :   $RCSfile: class.frontend.groups.php,v $
* Project   :   Contenido
* Descr     :   cFoldingRow JavaScript helpers
* Modified  :   $Date: 2004/03/16 13:41:45 $
*
* © four for business AG, www.4fb.de
*
* $Id: class.frontend.groups.php,v 1.2 2004/03/16 13:41:45 timo.hummel Exp $
******************************************/

function cFoldingRow_expandCollapse (image, row, hidden, uuid)
{
var data;
data = document.getElementById(image).getAttribute("data").substr(document.getElementById(image).getAttribute("data").length - 9, 9)
	if (data == "collapsed")
	{
		document.getElementById(row).style.display = '';
		document.getElementById(image).setAttribute("src", "images/widgets/foldingrow/expanded.gif");
		document.getElementById(image).setAttribute("data", "expanded");
		document.getElementById(hidden).setAttribute("value", "expanded");
		register_parameter("u_register[expandstate]["+uuid+"]", "true");
	} else {
		document.getElementById(row).style.display = 'none';
		document.getElementById(image).setAttribute("src", "images/widgets/foldingrow/collapsed.gif");
		document.getElementById(image).setAttribute("data", "collapsed");
		document.getElementById(hidden).setAttribute("value", "collapsed");
		register_parameter("u_register[expandstate]["+uuid+"]", "false");
	}
}
Opera liefert bei der getAttribute-Abfrage zu Beginn nicht einfach den Wert des Attributs zurück, sondern davor noch einen Pfad, sodass das Ergebnis natürlich nie == "collapsed" ist. Ansatz: Einfach vor dem Vergleich alles vor den letzten 9 Zeichen abschneiden (siehe oben).

Verfasst: Fr 30. Dez 2005, 09:59
von emergence
hab keinen opera zum testen da, aber was liefert er den genau bei
...sondern davor noch einen Pfad
zurück ?

Verfasst: Do 2. Feb 2006, 15:22
von Stefan_Br
So was wie

Code: Alles auswählen

localhost:

http://localhost/contenido4.6/contenido/expanded

Es ist zwar reichlich unlogisch, dass der sowas liefert, wenn man aber immer einfach nur die letzten Buchstaben betrachtet, hat man eine Lösung, die mit allen von mir probierten Browsern (Opera, Mozilla & Co, IE und Konqueror) funktioniert